dero-mcp-server 0.1.2 → 0.4.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.
Files changed (77) hide show
  1. package/POSITIONING.md +94 -0
  2. package/README.md +132 -31
  3. package/SKILL.md +264 -0
  4. package/data/docs-index.json +276 -264
  5. package/dist/bn254.d.ts +74 -0
  6. package/dist/bn254.d.ts.map +1 -0
  7. package/dist/bn254.js +205 -0
  8. package/dist/bn254.js.map +1 -0
  9. package/dist/citations.d.ts +140 -0
  10. package/dist/citations.d.ts.map +1 -0
  11. package/dist/citations.js +322 -0
  12. package/dist/citations.js.map +1 -0
  13. package/dist/composites/_shared.d.ts +119 -0
  14. package/dist/composites/_shared.d.ts.map +1 -0
  15. package/dist/composites/_shared.js +152 -0
  16. package/dist/composites/_shared.js.map +1 -0
  17. package/dist/composites/audit-chain-artifact-claim.d.ts +128 -0
  18. package/dist/composites/audit-chain-artifact-claim.d.ts.map +1 -0
  19. package/dist/composites/audit-chain-artifact-claim.js +305 -0
  20. package/dist/composites/audit-chain-artifact-claim.js.map +1 -0
  21. package/dist/composites/diagnose-chain-health.d.ts +64 -0
  22. package/dist/composites/diagnose-chain-health.d.ts.map +1 -0
  23. package/dist/composites/diagnose-chain-health.js +144 -0
  24. package/dist/composites/diagnose-chain-health.js.map +1 -0
  25. package/dist/composites/estimate-deploy-cost.d.ts +83 -0
  26. package/dist/composites/estimate-deploy-cost.d.ts.map +1 -0
  27. package/dist/composites/estimate-deploy-cost.js +116 -0
  28. package/dist/composites/estimate-deploy-cost.js.map +1 -0
  29. package/dist/composites/explain-smart-contract.d.ts +64 -0
  30. package/dist/composites/explain-smart-contract.d.ts.map +1 -0
  31. package/dist/composites/explain-smart-contract.js +149 -0
  32. package/dist/composites/explain-smart-contract.js.map +1 -0
  33. package/dist/composites/forge-demo-proof.d.ts +81 -0
  34. package/dist/composites/forge-demo-proof.d.ts.map +1 -0
  35. package/dist/composites/forge-demo-proof.js +204 -0
  36. package/dist/composites/forge-demo-proof.js.map +1 -0
  37. package/dist/composites/recommend-docs-path.d.ts +97 -0
  38. package/dist/composites/recommend-docs-path.d.ts.map +1 -0
  39. package/dist/composites/recommend-docs-path.js +149 -0
  40. package/dist/composites/recommend-docs-path.js.map +1 -0
  41. package/dist/composites/trace-transaction-with-context.d.ts +107 -0
  42. package/dist/composites/trace-transaction-with-context.d.ts.map +1 -0
  43. package/dist/composites/trace-transaction-with-context.js +217 -0
  44. package/dist/composites/trace-transaction-with-context.js.map +1 -0
  45. package/dist/daemon-base.d.ts +28 -0
  46. package/dist/daemon-base.d.ts.map +1 -0
  47. package/dist/daemon-base.js +62 -0
  48. package/dist/daemon-base.js.map +1 -0
  49. package/dist/dero-curve.d.ts +79 -0
  50. package/dist/dero-curve.d.ts.map +1 -0
  51. package/dist/dero-curve.js +79 -0
  52. package/dist/dero-curve.js.map +1 -0
  53. package/dist/docs-parse.d.ts.map +1 -1
  54. package/dist/docs-parse.js +18 -2
  55. package/dist/docs-parse.js.map +1 -1
  56. package/dist/http-server.d.ts +37 -0
  57. package/dist/http-server.d.ts.map +1 -0
  58. package/dist/http-server.js +132 -0
  59. package/dist/http-server.js.map +1 -0
  60. package/dist/index.js +18 -11
  61. package/dist/index.js.map +1 -1
  62. package/dist/proof-decode.d.ts +125 -0
  63. package/dist/proof-decode.d.ts.map +1 -0
  64. package/dist/proof-decode.js +619 -0
  65. package/dist/proof-decode.js.map +1 -0
  66. package/dist/server.d.ts.map +1 -1
  67. package/dist/server.js +414 -114
  68. package/dist/server.js.map +1 -1
  69. package/dist/tool-descriptions.d.ts +53 -0
  70. package/dist/tool-descriptions.d.ts.map +1 -0
  71. package/dist/tool-descriptions.js +285 -0
  72. package/dist/tool-descriptions.js.map +1 -0
  73. package/dist/tx-parse.d.ts +63 -0
  74. package/dist/tx-parse.d.ts.map +1 -0
  75. package/dist/tx-parse.js +183 -0
  76. package/dist/tx-parse.js.map +1 -0
  77. package/package.json +27 -2
@@ -1 +1 @@
1
- {"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,53 @@
1
+ /**
2
+ * Agent-instruction-style descriptions for every MCP tool registered by this server.
3
+ *
4
+ * Each description follows the same four-section template so MCP hosts (Cursor,
5
+ * Claude Desktop, OpenCode) can present consistent guidance to the model:
6
+ *
7
+ * - "When to call:" — call timing and sequencing relative to other tools.
8
+ * - "Input Requirements:" — explicit MUST/PREFER blocks. Use "none." when
9
+ * the tool takes no inputs (keeps the contract uniform so the CI guard
10
+ * can enforce the section's presence everywhere).
11
+ * - "Output:" — one-line description of the response shape so the model
12
+ * does not need to invoke the tool to discover its return type.
13
+ * - "PREFER ..." — optional. Citation/sequencing hints (e.g. point the
14
+ * model at bundled docs for context).
15
+ *
16
+ * The map is exported as a frozen object so descriptions cannot drift at
17
+ * runtime. `scripts/check-mcp-descriptions.ts` imports this map and enforces
18
+ * the four-section template in CI; do not bypass it by inlining descriptions
19
+ * in src/server.ts.
20
+ */
21
+ export declare const TOOL_DESCRIPTIONS: {
22
+ readonly dero_daemon_ping: "DERO daemon connectivity check via DERO.Ping.\n\nWhen to call: as the first step in any chain investigation to confirm the daemon is reachable. Call before dero_get_info if you are unsure whether DERO_DAEMON_URL is correctly configured.\n\nInput Requirements: none.\n\nOutput: a \"Pong\" string when the daemon is healthy. On failure this tool returns a structured _meta.error with code RPC_UNREACHABLE and a retry hint.";
23
+ readonly dero_daemon_echo: "Echo strings through the daemon via DERO.Echo. Useful for round-trip sanity checks.\n\nWhen to call: when you need to confirm that string payloads reach the daemon intact (e.g. before debugging a malformed call to a more complex tool). PREFER dero_daemon_ping for a lighter-weight liveness probe.\n\nInput Requirements (CRITICAL):\n- `words` MUST be a non-empty array of strings.\n\nOutput: the echoed string concatenated by the daemon.";
24
+ readonly dero_get_info: "Get DERO daemon and chain metadata: height, topoheight, stableheight, difficulty, version, network, mempool size, and total supply (DERO.GetInfo).\n\nWhen to call: first thing in any chain-state investigation or sync-health check. Call this BEFORE dero_get_sc, dero_get_transaction, or dero_get_block when you do not already know the current tip. PREFER citing dero_docs_search(\"DERO.GetInfo\") so the user can verify field semantics.\n\nInput Requirements: none.\n\nOutput: full chain info JSON including `topoheight`, `stableheight`, `height`, `network`, `version`, `difficulty`, `tx_pool_size`, and `total_supply`.";
25
+ readonly dero_get_height: "Get the current block heights: tip height, stable height (finalized), and topoheight (canonical ordering) via DERO.GetHeight.\n\nWhen to call: when you need a quick height snapshot without the full chain-info payload. PREFER dero_get_info when you also need network, version, or difficulty.\n\nInput Requirements: none.\n\nOutput: `{ height, stableheight, topoheight }`.";
26
+ readonly dero_get_block_count: "Get the total block count via DERO.GetBlockCount. This is a tip count, not a topoheight.\n\nWhen to call: when you need just the block count (e.g. for delta math against a reference height). PREFER dero_get_height when you need tip and stable heights together.\n\nInput Requirements: none.\n\nOutput: `{ count }`.";
27
+ readonly dero_get_last_block_header: "Get the header of the current tip block via DERO.GetLastBlockHeader (no full block body).\n\nWhen to call: when you need tip block metadata (hash, miner, timestamp, difficulty) without the transactions or miner_tx payload. PREFER dero_get_block when you need transactions or the miner_tx.\n\nInput Requirements: none.\n\nOutput: `{ block_header: { hash, height, topoheight, timestamp, difficulty, ... } }`.";
28
+ readonly dero_get_block: "Fetch a full block (header + miner_tx + transactions + topo position) by height OR hash via DERO.GetBlock.\n\nWhen to call: when investigating a specific block or verifying a transaction's inclusion. Call dero_get_height first if you do not have a target height. PREFER citing dero_docs_search(\"block structure\") so the user can verify field semantics.\n\nInput Requirements (CRITICAL):\n- You MUST provide exactly ONE of `hash` or `height`. Providing both or neither returns a structured INVALID_INPUT error.\n- `hash` MUST be exactly 64 hex characters.\n- `height` MUST be a non-negative integer.\n\nOutput: full block with `block_header`, `miner_tx`, `txs`, and topo position fields.";
29
+ readonly dero_get_block_header_by_topo_height: "Get a block header by topological height (canonical ordering) via DERO.GetBlockHeaderByTopoHeight.\n\nWhen to call: when you need a header keyed by topo position rather than chain height. Topoheight is the canonical ordering used by DERO indexers; height is the consensus block height.\n\nInput Requirements (CRITICAL):\n- `topoheight` MUST be a non-negative integer no greater than the current topoheight (call dero_get_info first if unsure).\n\nOutput: `{ block_header: { hash, height, topoheight, timestamp, ... } }`.";
30
+ readonly dero_get_block_header_by_hash: "Get a block header by its 64-char hex hash via DERO.GetBlockHeaderByHash.\n\nWhen to call: when you have a block hash (e.g. from a tx confirmation) and need its header without the full block body. PREFER dero_get_block when you also need the txs or miner_tx.\n\nInput Requirements (CRITICAL):\n- `hash` MUST be exactly 64 hex characters (matches /^[0-9a-fA-F]{64}$/).\n\nOutput: `{ block_header: {...} }`.";
31
+ readonly dero_get_tx_pool: "List pending mempool transaction hashes via DERO.GetTxPool.\n\nWhen to call: when checking unconfirmed activity, watching for a specific tx to land, or estimating mempool pressure. NOTE: `tx_hashes` may be `null` or an empty array when the mempool is empty — treat both as \"no pending\".\n\nInput Requirements: none.\n\nOutput: `{ tx_hashes: string[] | null }`.";
32
+ readonly dero_get_random_address: "Get random registered addresses from the chain (used for ring construction in private transfers) via DERO.GetRandomAddress.\n\nWhen to call: when building a transfer ring in external wallet tooling, or sampling chain participants. Optional asset SCID limits sampling to holders of that asset.\n\nInput Requirements:\n- `scid` is OPTIONAL. When provided it MUST be exactly 64 hex characters.\n\nOutput: `{ address: string[] }`.";
33
+ readonly dero_get_transaction: "Fetch one or more transactions by hash via DERO.GetTransaction. Each tx is returned with confirmation status, block hash, and (optionally) decoded JSON fields.\n\nWhen to call: when tracing a tx by hash. Pair with dero_get_sc when the tx invokes a contract. PREFER citing dero_docs_search(\"transaction structure\") so the user can interpret confirmations, ring members, and SC fields.\n\nInput Requirements (CRITICAL):\n- `txs_hashes` MUST be a non-empty array of 64-char hex strings.\n- `decode_as_json` is OPTIONAL. PREFER `1` (any non-zero value) when you want JSON-decoded fields instead of raw blobs.\n\nOutput: `{ txs: [...], txs_as_hex: [...] }` with per-tx confirmation, block hash, and (when decoded) parsed payload.";
34
+ readonly dero_get_encrypted_balance: "Get the ENCRYPTED balance blob for a DERO address at a topo height via DERO.GetEncryptedBalance.\n\nCRITICAL: this returns an opaque encrypted blob, NOT a cleartext balance. Only the wallet holding the spend key can decrypt it. Do NOT present the encrypted bytes as a balance to the user.\n\nWhen to call: when verifying that an address has on-chain encrypted state (e.g. before attempting a transfer with a wallet you control), or as a sub-step in another tool. PREFER citing dero_docs_search(\"encrypted balance\") so the user understands the opacity.\n\nInput Requirements (CRITICAL):\n- `address` MUST start with `dero1` (mainnet) or `deto1` (testnet).\n- `topoheight` MUST be an integer; use `-1` for the latest chain tip.\n- `scid` is OPTIONAL. Omit for native DERO; provide 64-hex SCID for asset balances.\n\nOutput: `{ status, registration, balance (encrypted blob), ... }`.";
35
+ readonly dero_get_sc: "Read smart contract state (code and/or stored variables) by SCID via DERO.GetSC. This is the primary entry point for any contract inspection on DERO.\n\nWhen to call: as the first step in any DVM contract investigation. Pair with dero_docs_search(\"DVM-BASIC\") to interpret the returned code blob. PREFER citing dero_docs_search(\"smart contract\") or dero_docs_get_page on a relevant DVM page so the user can interpret the contract's state model.\n\nInput Requirements (CRITICAL):\n- `scid` MUST be exactly 64 hex characters (the contract id).\n- `code` is OPTIONAL (defaults to true). Set false to skip the source blob when you only need stored variables.\n- `variables` is OPTIONAL (defaults to true). Set false to skip variables when you only need the source.\n- `topoheight` is OPTIONAL. Omit or use `-1` for the latest committed state.\n\nOutput: `{ code, balances, variables: { stringkeys, uint64keys }, ... }`.";
36
+ readonly dero_get_gas_estimate: "Estimate gas (compute + storage) for transfers, SC deploys, or SC invokes via DERO.GetGasEstimate. This is a PRE-FLIGHT check; nothing is submitted.\n\nWhen to call: BEFORE any wallet-side transfer/scinvoke (using external wallet tooling) to size fees, OR when explaining deploy costs to a user. PREFER citing dero_docs_search(\"gas estimate\" or \"fees\") so the user understands how compute vs storage gas are charged.\n\nInput Requirements (CRITICAL):\n- At least ONE of `transfers`, `sc`, or `sc_rpc` MUST be provided.\n- `sc` is the DVM-BASIC contract source string when estimating a deploy.\n- `sc_rpc` is an array of `{ name, datatype, value }` invocation arguments (entrypoint + SC_ID + caller-provided params).\n- `signer` is OPTIONAL but PREFERRED; pass the `dero1.../deto1...` address that would sign the eventual tx.\n\nOutput: `{ gascompute, gasstorage, status }`.";
37
+ readonly dero_name_to_address: "Resolve a DERO on-chain registered name to its address via DERO.NameToAddress.\n\nWhen to call: when a user supplies a human-readable name (e.g. \"myname\") instead of a `dero1.../deto1...` address.\n\nInput Requirements (CRITICAL):\n- `name` MUST be a non-empty string. Resolution is case-sensitive on the daemon side.\n- `topoheight` MUST be an integer; use `-1` for the latest registry state.\n\nOutput: `{ name, address }`. On NOT_FOUND the daemon's RPC error is surfaced as a structured _meta.error.";
38
+ readonly dero_get_block_template: "Get a mining block template for a miner payout address via DERO.GetBlockTemplate.\n\nWhen to call: ONLY when you are actually mining. PREFER dero_get_last_block_header for general chain-tip inspection.\n\nInput Requirements (CRITICAL):\n- `wallet_address` MUST be a valid DERO address (`dero1...` or `deto1...`) that will receive the block reward.\n- `block` is OPTIONAL. Set true to include the raw block blob in the response.\n- `miner` is an OPTIONAL label.\n\nOutput: block template payload suitable for a mining client. Does NOT submit a block; submission requires the excluded DERO.SubmitBlock method.";
39
+ readonly dero_docs_search: "Search the bundled DERO documentation index across derod, tela, hologram, and deropay (145+ pages). In-process — no network round trip.\n\nWhen to call: when you need authoritative docs to answer a DERO question, OR before constructing a citation in your response. Call this BEFORE explaining DVM, RPC methods, TELA contracts, Hologram simulator, or DeroPay webhooks. PREFER returning the top match's `canonical_url` and `slug` to the user as a citation.\n\nInput Requirements (CRITICAL):\n- `query` MUST be a non-empty search string.\n- `product` is OPTIONAL. Provide when you know the scope to reduce noise (e.g. `tela` for TELA-DOC-1 questions).\n- `section` is OPTIONAL. Provide a slug prefix to scope further (e.g. `rpc-api` under `product=derod`).\n- `limit` is OPTIONAL (default 8, max 25).\n\nOutput: ranked matches with `title`, `slug`, `headings`, `excerpt`, `canonical_url`, and `score`.";
40
+ readonly dero_docs_get_page: "Get a single bundled docs page by slug, with full plain-text content and headings.\n\nWhen to call: AFTER dero_docs_search has returned a candidate slug, OR when you have a known slug from a prior citation. PREFER dero_docs_search first when you only have a topic in mind.\n\nInput Requirements (CRITICAL):\n- `slug` MUST be a non-empty doc slug relative to pages/ (e.g. `rpc-api/daemon-rpc-api`, `tutorials/first-app`, `dero-pay/quick-start`).\n- `product` is OPTIONAL but RECOMMENDED to disambiguate identical slugs across docs sites (`derod`, `tela`, `hologram`, `deropay`).\n\nOutput: `{ product, slug, title, headings, content, canonical_url, last_updated, source_path }`. Content is truncated at 20000 chars; if you need more, narrow with section anchors.";
41
+ readonly dero_docs_list: "List indexed bundled docs pages across all four products with slugs, titles, and canonical URLs.\n\nWhen to call: when surveying available docs (e.g. \"what TELA tutorials exist?\"), OR when you need a slug catalog before invoking dero_docs_get_page. PREFER dero_docs_search when you have a specific question.\n\nInput Requirements:\n- `product` is OPTIONAL. Provide to scope to one of `derod | tela | hologram | deropay`.\n- `limit` is OPTIONAL (default 120, max 500).\n\nOutput: `{ docs_source, total, products, pages: [{ product, slug, title, canonical_url, last_updated }] }`.";
42
+ readonly trace_transaction_with_context: "Composite: look up a DERO transaction by hash, classify its confirmation status (confirmed | mempool | unknown) and kind (sc_install | transfer_or_invocation | coinbase | unknown), extract the SC surface inline when the tx is a contract install, and stitch the right DERO tx + DVM docs pages as citations.\n\nWhen to call: as the FIRST step when investigating any tx by hash — the user asks \"what is this tx\", \"is this confirmed\", \"what contract did this deploy\", or \"what does this tx do\". PREFER this over chaining dero_get_transaction with dero_get_sc yourself: for SC INSTALL txs the composite already extracts the deployed function surface inline (no second RPC needed because the source is embedded in the tx record), classifies the kind so the agent does not have to inspect the raw shape, and protects against the \"empty record\" failure mode by surfacing structured TX_NOT_FOUND when the daemon does not know the hash.\n\nInput Requirements:\n- `tx_hash` is REQUIRED. Must be 64 hex chars.\n- `decode` is OPTIONAL (default true). Pass false to ask the daemon to skip the JSON-decoded view (raw hex still comes back; the field hint that the binary is available).\n- `include_sc_context` is OPTIONAL (default true). Set false to skip the inline extractScSurface call for SC install txs (useful when you only need confirmation / ring info).\n\nOutput: `{ tx_hash, confirmation: { status, block_height, valid_block, invalid_blocks, in_pool }, kind, ring: { groups, first_group_size }, reward, signer_visible, native_balance, sc_install: { scid, surface, raw_code_length, has_code } | null, raw_tx_hex_length, narrative, related_docs, _diagnostics }`. `sc_install` is non-null ONLY when the tx is a contract install AND the surface extractor produced something (tx_hash IS the resulting SCID in that case). SC invocation arg decoding is NOT performed — that requires walking the binary tx blob with the DERO tx codec, which is not bundled in this MCP. The composite surfaces `raw_tx_hex_length` so the agent knows the binary is available via dero_get_transaction. On unknown hash the daemon returns an empty record and the composite returns a structured `_meta.error` with code `TX_NOT_FOUND`.";
43
+ readonly estimate_deploy_cost: "Composite: send a DVM-BASIC contract source to the daemon's gas estimator, then return the raw estimate alongside a plain-text breakdown (what each gas number means), the parsed contract surface, and curated DVM deploy docs as citations.\n\nWhen to call: BEFORE asking a wallet to broadcast a deploy transaction, OR when explaining the cost of a contract to a user. PREFER this over chaining dero_get_gas_estimate yourself: this composite already explains gascompute vs gasstorage in plain language, parses the SC source to show what functions the user is about to deploy (reusing extractScSurface from explain_smart_contract), and protects against fabricating a breakdown when the daemon reports 0/0 with a non-OK status.\n\nInput Requirements:\n- `sc` is REQUIRED. The full DVM-BASIC contract source — must contain at least one `Function ... End Function` block. A function body alone will fail with INVALID_INPUT.\n- `signer` is OPTIONAL. A dero1.../deto1... address that will sign the eventual deploy tx. The daemon uses it for fee context; omitting it still returns a meaningful estimate.\n- `include_breakdown` is OPTIONAL (default true). Set false when you only need the raw numbers (e.g. piping into a fee table).\n\nOutput: `{ estimate: { gascompute, gasstorage, status }, breakdown: { compute_note, storage_note, total_units } | null, signer_used, include_breakdown, sc_surface: { functions, stringkeys, uint64keys, raw_code_length, function_count }, related_docs }`. `breakdown` is null when `include_breakdown=false` OR when the daemon returned 0/0 with a non-OK status (never fabricated). On DVM compile failure the composite returns a structured `_meta.error` with code `INVALID_INPUT` and the daemon's exact compile message in `_meta.error.raw`.";
44
+ readonly recommend_docs_path: "Composite: take a natural-language intent, fan out parallel scoped searches across the bundled docs for all four DERO products (derod, tela, hologram, deropay), boost any product_hint matches by 1.5×, and return a ranked recommendation list with per-result rationale plus ready-to-cite related_docs.\n\nWhen to call: at the START of any \"where do I read about X?\" or \"which docs cover Y?\" investigation, BEFORE calling dero_docs_search directly. PREFER this over guessing the right product: this composite already runs all four products in parallel, dedupes overlap, surfaces the top heading per result as rationale, and gives you the top-2 citations pre-built. Pass product_hint when the user has already said e.g. \"TELA\" or \"DeroPay\" so that product's matches float to the top.\n\nInput Requirements:\n- `intent` is REQUIRED. Free-text description of what the user is trying to do (min 8 chars). Drop verbs and use product nouns like \"deploy a TELA app\" or \"verify a DeroPay webhook signature\" for best results.\n- `product_hint` is OPTIONAL. One of `derod | tela | hologram | deropay`. Multiplies hint-product scores by 1.5×.\n- `limit_per_product` is OPTIONAL (default 2, max 5). Cap per-product hits before merging.\n\nOutput: `{ intent, product_hint, limit_per_product, recommended: [{ product, slug, title, canonical_url, score, boosted_score, rationale }], by_product: { derod | tela | hologram | deropay: { count, top_slug, top_score } }, related_docs: DeroCitation[] }`. `related_docs` is the top-2 picks pre-built as citations the agent can drop straight into a response. On zero matches across every product the composite returns a structured `_meta.error` with code `NO_DOCS_MATCH` and a hint to rephrase or drop the product_hint.";
45
+ readonly explain_smart_contract: "Composite: fetch a DERO smart contract (code + variables + balances) and return its function surface, a classification of the contract pattern (token | registry | minimal | generic), a plain-language narrative, and curated DVM docs citations re-ordered so the most relevant page is first.\n\nWhen to call: when the user wants to UNDERSTAND a smart contract — its functions, state shape, or which DVM concept to read about. PREFER this over chaining dero_get_sc with a docs lookup yourself: this composite already parses the DVM-BASIC source for function declarations, sorts stringkeys/uint64keys deterministically, and picks the right docs page from a heuristic so the agent does not have to learn DVM-BASIC syntax to summarize a contract.\n\nInput Requirements:\n- `scid` is REQUIRED. Must be 64 hex chars (the smart contract id). Use `0000…0001` for the on-chain name registry as a known-good example.\n- `topoheight` is OPTIONAL. Provide to inspect the contract at a specific topo height; omit for latest tip.\n\nOutput: `{ scid, topoheight, kind, surface: { functions[], stringkeys[], uint64keys[], balances }, narrative, raw_code_length, has_code, related_docs }`. `kind` is one of `token | registry | minimal | generic`. `surface.functions` items are `{ name, args, returns }`. `has_code` is false when the SCID is unknown or has no on-chain code; `functions` is then `[]` and the narrative explains the gap. `raw_code_length` is always present so the agent knows when to fall back to `dero_get_sc` for the full source.";
46
+ readonly diagnose_chain_health: "Composite: run a four-step chain (DERO.Ping → DERO.GetInfo → DERO.GetHeight → DERO.GetTxPool) and return a single narrative health report with chain metadata, mempool snapshot, machine-readable signals, and curated docs citations.\n\nWhen to call: as the first step in any chain-state investigation when the user asks \"is the node healthy\", \"is it synced\", or \"what is the current state of the chain\". PREFER this over chaining the four primitives yourself — the composite handles partial-failure modes and lag-depth classification consistently, and the response already cites the right docs page.\n\nInput Requirements:\n- `include_tx_pool` is OPTIONAL (default true). Set false to skip the mempool snapshot when you only need chain-tip status.\n\nOutput: `{ status, narrative, signals[], chain, mempool, related_docs, _diagnostics }`. `status` is one of `healthy | lagging | partial | unreachable`. `chain` is null when DERO.GetInfo was unreachable; `mempool` is null when skipped or the call failed. On total daemon unreachability the tool returns a structured `_meta.error` with code `RPC_UNREACHABLE`.";
47
+ readonly audit_chain_artifact_claim: "Composite: audit a chain artifact (block topoheight, block hash, TX hash, and/or proof string) end-to-end. Returns a verdict (`cited_in_false_claim` | `clean`), the actual on-chain facts (block reward, TX acceptance status), an optional proof-string decode, a relayable narrative, and curated rebuttal docs citations.\n\nWhen to call: when the user asks \"what's going on with DERO block X?\" / \"is this transaction the inflation-claim TX?\" / \"does this proof string come from a known false claim?\" PREFER this over chaining `dero_get_block_header_by_topo_height` + `dero_get_transaction` + `dero_decode_proof_string` yourself: the composite already runs them in parallel, joins them against the flagged false-claim registry, and emits a single `verdict` field plus a narrative so the agent does not need to compose the rebuttal arc from scratch each time.\n\nInput Requirements (CRITICAL):\n- At least ONE of `topoheight`, `block_hash`, `tx_hash`, or `proof_string` MUST be provided. The composite throws `INVALID_INPUT` otherwise.\n- `topoheight` is OPTIONAL. Non-negative integer.\n- `block_hash` is OPTIONAL. 64 hex characters.\n- `tx_hash` is OPTIONAL. 64 hex characters.\n- `proof_string` is OPTIONAL. Full `deroproof…` / DERO bech32 string with HRP.\n- `include_forge_demo` is OPTIONAL (default false). When true AND `tx_hash` is provided, also forges a fresh demo proof for the same TX (via `dero_forge_demo_proof`) and embeds it under `forge_demo`. The demo amount auto-selects: a flagged artifact's pinned amount (e.g. -2.2M for the 2022 claim) > the cited `proof_string` V > -1 DERO. PREFER setting this true when the agent is fielding a \"Verified ✓ means the chain minted coins, right?\" question — the embedded forge IS the refutation.\n\nOutput: `{ verdict, inputs, matched_artifacts[], context_note, chain_facts, proof_decode, forge_demo, narrative, related_docs, _diagnostics }`. `verdict` is `cited_in_false_claim` when any input matches the flagged-artifact registry, else `clean`. `chain_facts` is null when no chain-querying input was provided or all daemon calls failed; `proof_decode` is null when no `proof_string` was provided. `forge_demo` is null unless `include_forge_demo: true` was passed; on success it carries `{ skipped: false, forged_proof_string, target_amount, ring_slot, ring_size, ring_receiver_address, math, self_check, explorer_display_amount, demo_amount_source }` (the slim form — full citations stay at the top level).\n\nPREFER citing the returned `related_docs` verbatim in the agent response — they are the canonical rebuttal pages and have been validated against the bundled docs index by CI. Quote the `context_note` when verdict is `cited_in_false_claim` so the user understands why the artifact matters.";
48
+ readonly dero_decode_proof_string: "Decode any DERO bech32 string (`dero…`, `deto…`, `deroi…`, `detoi…`, or `deroproof…`) into its constituent parts: HRP, network, compressed public key, and any embedded RPC arguments (CBOR-encoded). For `deroproof…` strings the \"public key\" is a derived blinder point used in the proof's commitment math, NOT a wallet pubkey — the tool surfaces `is_proof: true` so the agent does not mislabel it.\n\nWhen to call: when the user pastes a `deroproof…` / integrated-address string and wants to know what value or fields it encodes. PREFER this over chaining bech32 decoders + CBOR libraries yourself: the tool implements the exact same wire format as DEROHE `rpc.NewAddress` and surfaces the `RPC_VALUE_TRANSFER` uint64 both as raw and as a signed/wraparound interpretation. The decoder is verified against the publicly-cited 2022 inflation-claim proof string (embedded uint64 = 18446743853709551435 = signed -2,200,000.00181 DERO).\n\nInput Requirements (CRITICAL):\n- `proof_string` is REQUIRED. The full bech32 string including HRP and separator (e.g. `deroproof1qyy…`). Whitespace is trimmed but the case must be consistent (all lower OR all upper per BIP-0173).\n\nOutput: `{ decoded: { hrp, mainnet, is_proof, public_key_hex, arguments[] }, value_interpretation?: { uint64, signed_int64, is_negative_wraparound, signed_atoms, dero }, context_note?, related_docs? }`. `arguments` is an array of `{ name, type, type_label, semantic_name?, value }`. `value_interpretation` is present only when an `RPC_VALUE_TRANSFER` (V) + `uint64` (U) argument is found. `context_note` + extra `related_docs` are silently attached when the input matches a flagged adversarially-cited artifact. Returns a structured `_meta.error` with code `INVALID_BECH32` on parse failure.\n\nPREFER citing `integrity/payload-vs-transaction-proofs` and `integrity/negative-transfer-protection` in any agent response that frames a `deroproof…` decode result — readers should understand that \"this string decodes to value V\" is a display-layer fact, not a consensus statement.";
49
+ readonly dero_forge_demo_proof: "Composite: build a fresh `deroproof…` display object for ANY chosen transaction, ring slot, and amount — including negative amounts that uint64-wrap into the trillions. The forged string is constructed locally from public chain data (no wallet, no keys, no broadcast). On an unpatched explorer it shows **Verified ✓** for the chosen amount; on the chain, nothing has changed.\n\nWhen to call: when a user pastes a `deroproof…` string and asks \"does Verified ✓ mean the chain minted these coins?\" Forge an equivalent string for the same TX with a different amount and show the result side-by-side — that is the most direct refutation. Also useful for reproducing the `docs/integrity/inflation-claim` Part 3 demonstration on arbitrary inputs.\n\nMath: `blinder = C[ring_slot] − amount × G`, then `bech32(\"deroproof\", version || blinder || CBOR({HH: zeros, VU: uint64}))`. The tool runs the same equation `proof.Prove()` checks at `proof/proof.go:88-95` and self-verifies before returning a string. If the self-check fails, the tool throws rather than emit a string that would not verify.\n\nInput Requirements (CRITICAL):\n- Exactly ONE of `tx_hash` or `tx_hex` MUST be provided. `tx_hash` triggers a daemon fetch (and surfaces the receiver address); `tx_hex` skips the daemon and uses the raw bytes the caller already has.\n- `ring_slot` is OPTIONAL (default 0). Must be in [0, ring_size).\n- `amount_dero` is OPTIONAL (default \"-1\"). Signed decimal with up to 5 fractional digits, e.g. `\"-1\"`, `\"1000000\"`, `\"-2200000.00181\"`. Negative values produce uint64 wraparounds that unpatched explorers render as positive trillions.\n\nOutput: `{ forged_proof_string, target_amount: { dero, atoms_signed, atoms_uint64 }, ring_slot, ring_size, ring_receiver_address, math: { C_slot_hex, amount_x_G_hex, blinder_hex }, self_check: { verified, method }, explorer_display_amount, context_note, related_docs, _diagnostics }`. `ring_receiver_address` is null when `tx_hex` was passed (the hex carries publickey pointers, not addresses).\n\nREAD-ONLY: this tool never broadcasts, never touches a wallet, never mutates chain state. It computes a string from public inputs and returns it. Annotation `readOnlyHint: true` is preserved. PREFER citing the returned `related_docs` (the integrity rebuttal pages) in any agent response — readers should understand the forged string is a display-layer object, not a consensus event.";
50
+ };
51
+ export type DeroToolName = keyof typeof TOOL_DESCRIPTIONS;
52
+ export declare const DERO_TOOL_NAMES: readonly DeroToolName[];
53
+ //# sourceMappingURL=tool-descriptions.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tool-descriptions.d.ts","sourceRoot":"","sources":["../src/tool-descriptions.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAEH,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAiSpB,CAAA;AAEV,MAAM,MAAM,YAAY,GAAG,MAAM,OAAO,iBAAiB,CAAA;AAEzD,eAAO,MAAM,eAAe,EAAE,SAAS,YAAY,EAEhC,CAAA"}
@@ -0,0 +1,285 @@
1
+ /**
2
+ * Agent-instruction-style descriptions for every MCP tool registered by this server.
3
+ *
4
+ * Each description follows the same four-section template so MCP hosts (Cursor,
5
+ * Claude Desktop, OpenCode) can present consistent guidance to the model:
6
+ *
7
+ * - "When to call:" — call timing and sequencing relative to other tools.
8
+ * - "Input Requirements:" — explicit MUST/PREFER blocks. Use "none." when
9
+ * the tool takes no inputs (keeps the contract uniform so the CI guard
10
+ * can enforce the section's presence everywhere).
11
+ * - "Output:" — one-line description of the response shape so the model
12
+ * does not need to invoke the tool to discover its return type.
13
+ * - "PREFER ..." — optional. Citation/sequencing hints (e.g. point the
14
+ * model at bundled docs for context).
15
+ *
16
+ * The map is exported as a frozen object so descriptions cannot drift at
17
+ * runtime. `scripts/check-mcp-descriptions.ts` imports this map and enforces
18
+ * the four-section template in CI; do not bypass it by inlining descriptions
19
+ * in src/server.ts.
20
+ */
21
+ export const TOOL_DESCRIPTIONS = {
22
+ dero_daemon_ping: `DERO daemon connectivity check via DERO.Ping.
23
+
24
+ When to call: as the first step in any chain investigation to confirm the daemon is reachable. Call before dero_get_info if you are unsure whether DERO_DAEMON_URL is correctly configured.
25
+
26
+ Input Requirements: none.
27
+
28
+ Output: a "Pong" string when the daemon is healthy. On failure this tool returns a structured _meta.error with code RPC_UNREACHABLE and a retry hint.`,
29
+ dero_daemon_echo: `Echo strings through the daemon via DERO.Echo. Useful for round-trip sanity checks.
30
+
31
+ When to call: when you need to confirm that string payloads reach the daemon intact (e.g. before debugging a malformed call to a more complex tool). PREFER dero_daemon_ping for a lighter-weight liveness probe.
32
+
33
+ Input Requirements (CRITICAL):
34
+ - \`words\` MUST be a non-empty array of strings.
35
+
36
+ Output: the echoed string concatenated by the daemon.`,
37
+ dero_get_info: `Get DERO daemon and chain metadata: height, topoheight, stableheight, difficulty, version, network, mempool size, and total supply (DERO.GetInfo).
38
+
39
+ When to call: first thing in any chain-state investigation or sync-health check. Call this BEFORE dero_get_sc, dero_get_transaction, or dero_get_block when you do not already know the current tip. PREFER citing dero_docs_search("DERO.GetInfo") so the user can verify field semantics.
40
+
41
+ Input Requirements: none.
42
+
43
+ Output: full chain info JSON including \`topoheight\`, \`stableheight\`, \`height\`, \`network\`, \`version\`, \`difficulty\`, \`tx_pool_size\`, and \`total_supply\`.`,
44
+ dero_get_height: `Get the current block heights: tip height, stable height (finalized), and topoheight (canonical ordering) via DERO.GetHeight.
45
+
46
+ When to call: when you need a quick height snapshot without the full chain-info payload. PREFER dero_get_info when you also need network, version, or difficulty.
47
+
48
+ Input Requirements: none.
49
+
50
+ Output: \`{ height, stableheight, topoheight }\`.`,
51
+ dero_get_block_count: `Get the total block count via DERO.GetBlockCount. This is a tip count, not a topoheight.
52
+
53
+ When to call: when you need just the block count (e.g. for delta math against a reference height). PREFER dero_get_height when you need tip and stable heights together.
54
+
55
+ Input Requirements: none.
56
+
57
+ Output: \`{ count }\`.`,
58
+ dero_get_last_block_header: `Get the header of the current tip block via DERO.GetLastBlockHeader (no full block body).
59
+
60
+ When to call: when you need tip block metadata (hash, miner, timestamp, difficulty) without the transactions or miner_tx payload. PREFER dero_get_block when you need transactions or the miner_tx.
61
+
62
+ Input Requirements: none.
63
+
64
+ Output: \`{ block_header: { hash, height, topoheight, timestamp, difficulty, ... } }\`.`,
65
+ dero_get_block: `Fetch a full block (header + miner_tx + transactions + topo position) by height OR hash via DERO.GetBlock.
66
+
67
+ When to call: when investigating a specific block or verifying a transaction's inclusion. Call dero_get_height first if you do not have a target height. PREFER citing dero_docs_search("block structure") so the user can verify field semantics.
68
+
69
+ Input Requirements (CRITICAL):
70
+ - You MUST provide exactly ONE of \`hash\` or \`height\`. Providing both or neither returns a structured INVALID_INPUT error.
71
+ - \`hash\` MUST be exactly 64 hex characters.
72
+ - \`height\` MUST be a non-negative integer.
73
+
74
+ Output: full block with \`block_header\`, \`miner_tx\`, \`txs\`, and topo position fields.`,
75
+ dero_get_block_header_by_topo_height: `Get a block header by topological height (canonical ordering) via DERO.GetBlockHeaderByTopoHeight.
76
+
77
+ When to call: when you need a header keyed by topo position rather than chain height. Topoheight is the canonical ordering used by DERO indexers; height is the consensus block height.
78
+
79
+ Input Requirements (CRITICAL):
80
+ - \`topoheight\` MUST be a non-negative integer no greater than the current topoheight (call dero_get_info first if unsure).
81
+
82
+ Output: \`{ block_header: { hash, height, topoheight, timestamp, ... } }\`.`,
83
+ dero_get_block_header_by_hash: `Get a block header by its 64-char hex hash via DERO.GetBlockHeaderByHash.
84
+
85
+ When to call: when you have a block hash (e.g. from a tx confirmation) and need its header without the full block body. PREFER dero_get_block when you also need the txs or miner_tx.
86
+
87
+ Input Requirements (CRITICAL):
88
+ - \`hash\` MUST be exactly 64 hex characters (matches /^[0-9a-fA-F]{64}$/).
89
+
90
+ Output: \`{ block_header: {...} }\`.`,
91
+ dero_get_tx_pool: `List pending mempool transaction hashes via DERO.GetTxPool.
92
+
93
+ When to call: when checking unconfirmed activity, watching for a specific tx to land, or estimating mempool pressure. NOTE: \`tx_hashes\` may be \`null\` or an empty array when the mempool is empty — treat both as "no pending".
94
+
95
+ Input Requirements: none.
96
+
97
+ Output: \`{ tx_hashes: string[] | null }\`.`,
98
+ dero_get_random_address: `Get random registered addresses from the chain (used for ring construction in private transfers) via DERO.GetRandomAddress.
99
+
100
+ When to call: when building a transfer ring in external wallet tooling, or sampling chain participants. Optional asset SCID limits sampling to holders of that asset.
101
+
102
+ Input Requirements:
103
+ - \`scid\` is OPTIONAL. When provided it MUST be exactly 64 hex characters.
104
+
105
+ Output: \`{ address: string[] }\`.`,
106
+ dero_get_transaction: `Fetch one or more transactions by hash via DERO.GetTransaction. Each tx is returned with confirmation status, block hash, and (optionally) decoded JSON fields.
107
+
108
+ When to call: when tracing a tx by hash. Pair with dero_get_sc when the tx invokes a contract. PREFER citing dero_docs_search("transaction structure") so the user can interpret confirmations, ring members, and SC fields.
109
+
110
+ Input Requirements (CRITICAL):
111
+ - \`txs_hashes\` MUST be a non-empty array of 64-char hex strings.
112
+ - \`decode_as_json\` is OPTIONAL. PREFER \`1\` (any non-zero value) when you want JSON-decoded fields instead of raw blobs.
113
+
114
+ Output: \`{ txs: [...], txs_as_hex: [...] }\` with per-tx confirmation, block hash, and (when decoded) parsed payload.`,
115
+ dero_get_encrypted_balance: `Get the ENCRYPTED balance blob for a DERO address at a topo height via DERO.GetEncryptedBalance.
116
+
117
+ CRITICAL: this returns an opaque encrypted blob, NOT a cleartext balance. Only the wallet holding the spend key can decrypt it. Do NOT present the encrypted bytes as a balance to the user.
118
+
119
+ When to call: when verifying that an address has on-chain encrypted state (e.g. before attempting a transfer with a wallet you control), or as a sub-step in another tool. PREFER citing dero_docs_search("encrypted balance") so the user understands the opacity.
120
+
121
+ Input Requirements (CRITICAL):
122
+ - \`address\` MUST start with \`dero1\` (mainnet) or \`deto1\` (testnet).
123
+ - \`topoheight\` MUST be an integer; use \`-1\` for the latest chain tip.
124
+ - \`scid\` is OPTIONAL. Omit for native DERO; provide 64-hex SCID for asset balances.
125
+
126
+ Output: \`{ status, registration, balance (encrypted blob), ... }\`.`,
127
+ dero_get_sc: `Read smart contract state (code and/or stored variables) by SCID via DERO.GetSC. This is the primary entry point for any contract inspection on DERO.
128
+
129
+ When to call: as the first step in any DVM contract investigation. Pair with dero_docs_search("DVM-BASIC") to interpret the returned code blob. PREFER citing dero_docs_search("smart contract") or dero_docs_get_page on a relevant DVM page so the user can interpret the contract's state model.
130
+
131
+ Input Requirements (CRITICAL):
132
+ - \`scid\` MUST be exactly 64 hex characters (the contract id).
133
+ - \`code\` is OPTIONAL (defaults to true). Set false to skip the source blob when you only need stored variables.
134
+ - \`variables\` is OPTIONAL (defaults to true). Set false to skip variables when you only need the source.
135
+ - \`topoheight\` is OPTIONAL. Omit or use \`-1\` for the latest committed state.
136
+
137
+ Output: \`{ code, balances, variables: { stringkeys, uint64keys }, ... }\`.`,
138
+ dero_get_gas_estimate: `Estimate gas (compute + storage) for transfers, SC deploys, or SC invokes via DERO.GetGasEstimate. This is a PRE-FLIGHT check; nothing is submitted.
139
+
140
+ When to call: BEFORE any wallet-side transfer/scinvoke (using external wallet tooling) to size fees, OR when explaining deploy costs to a user. PREFER citing dero_docs_search("gas estimate" or "fees") so the user understands how compute vs storage gas are charged.
141
+
142
+ Input Requirements (CRITICAL):
143
+ - At least ONE of \`transfers\`, \`sc\`, or \`sc_rpc\` MUST be provided.
144
+ - \`sc\` is the DVM-BASIC contract source string when estimating a deploy.
145
+ - \`sc_rpc\` is an array of \`{ name, datatype, value }\` invocation arguments (entrypoint + SC_ID + caller-provided params).
146
+ - \`signer\` is OPTIONAL but PREFERRED; pass the \`dero1.../deto1...\` address that would sign the eventual tx.
147
+
148
+ Output: \`{ gascompute, gasstorage, status }\`.`,
149
+ dero_name_to_address: `Resolve a DERO on-chain registered name to its address via DERO.NameToAddress.
150
+
151
+ When to call: when a user supplies a human-readable name (e.g. "myname") instead of a \`dero1.../deto1...\` address.
152
+
153
+ Input Requirements (CRITICAL):
154
+ - \`name\` MUST be a non-empty string. Resolution is case-sensitive on the daemon side.
155
+ - \`topoheight\` MUST be an integer; use \`-1\` for the latest registry state.
156
+
157
+ Output: \`{ name, address }\`. On NOT_FOUND the daemon's RPC error is surfaced as a structured _meta.error.`,
158
+ dero_get_block_template: `Get a mining block template for a miner payout address via DERO.GetBlockTemplate.
159
+
160
+ When to call: ONLY when you are actually mining. PREFER dero_get_last_block_header for general chain-tip inspection.
161
+
162
+ Input Requirements (CRITICAL):
163
+ - \`wallet_address\` MUST be a valid DERO address (\`dero1...\` or \`deto1...\`) that will receive the block reward.
164
+ - \`block\` is OPTIONAL. Set true to include the raw block blob in the response.
165
+ - \`miner\` is an OPTIONAL label.
166
+
167
+ Output: block template payload suitable for a mining client. Does NOT submit a block; submission requires the excluded DERO.SubmitBlock method.`,
168
+ dero_docs_search: `Search the bundled DERO documentation index across derod, tela, hologram, and deropay (145+ pages). In-process — no network round trip.
169
+
170
+ When to call: when you need authoritative docs to answer a DERO question, OR before constructing a citation in your response. Call this BEFORE explaining DVM, RPC methods, TELA contracts, Hologram simulator, or DeroPay webhooks. PREFER returning the top match's \`canonical_url\` and \`slug\` to the user as a citation.
171
+
172
+ Input Requirements (CRITICAL):
173
+ - \`query\` MUST be a non-empty search string.
174
+ - \`product\` is OPTIONAL. Provide when you know the scope to reduce noise (e.g. \`tela\` for TELA-DOC-1 questions).
175
+ - \`section\` is OPTIONAL. Provide a slug prefix to scope further (e.g. \`rpc-api\` under \`product=derod\`).
176
+ - \`limit\` is OPTIONAL (default 8, max 25).
177
+
178
+ Output: ranked matches with \`title\`, \`slug\`, \`headings\`, \`excerpt\`, \`canonical_url\`, and \`score\`.`,
179
+ dero_docs_get_page: `Get a single bundled docs page by slug, with full plain-text content and headings.
180
+
181
+ When to call: AFTER dero_docs_search has returned a candidate slug, OR when you have a known slug from a prior citation. PREFER dero_docs_search first when you only have a topic in mind.
182
+
183
+ Input Requirements (CRITICAL):
184
+ - \`slug\` MUST be a non-empty doc slug relative to pages/ (e.g. \`rpc-api/daemon-rpc-api\`, \`tutorials/first-app\`, \`dero-pay/quick-start\`).
185
+ - \`product\` is OPTIONAL but RECOMMENDED to disambiguate identical slugs across docs sites (\`derod\`, \`tela\`, \`hologram\`, \`deropay\`).
186
+
187
+ Output: \`{ product, slug, title, headings, content, canonical_url, last_updated, source_path }\`. Content is truncated at 20000 chars; if you need more, narrow with section anchors.`,
188
+ dero_docs_list: `List indexed bundled docs pages across all four products with slugs, titles, and canonical URLs.
189
+
190
+ When to call: when surveying available docs (e.g. "what TELA tutorials exist?"), OR when you need a slug catalog before invoking dero_docs_get_page. PREFER dero_docs_search when you have a specific question.
191
+
192
+ Input Requirements:
193
+ - \`product\` is OPTIONAL. Provide to scope to one of \`derod | tela | hologram | deropay\`.
194
+ - \`limit\` is OPTIONAL (default 120, max 500).
195
+
196
+ Output: \`{ docs_source, total, products, pages: [{ product, slug, title, canonical_url, last_updated }] }\`.`,
197
+ trace_transaction_with_context: `Composite: look up a DERO transaction by hash, classify its confirmation status (confirmed | mempool | unknown) and kind (sc_install | transfer_or_invocation | coinbase | unknown), extract the SC surface inline when the tx is a contract install, and stitch the right DERO tx + DVM docs pages as citations.
198
+
199
+ When to call: as the FIRST step when investigating any tx by hash — the user asks "what is this tx", "is this confirmed", "what contract did this deploy", or "what does this tx do". PREFER this over chaining dero_get_transaction with dero_get_sc yourself: for SC INSTALL txs the composite already extracts the deployed function surface inline (no second RPC needed because the source is embedded in the tx record), classifies the kind so the agent does not have to inspect the raw shape, and protects against the "empty record" failure mode by surfacing structured TX_NOT_FOUND when the daemon does not know the hash.
200
+
201
+ Input Requirements:
202
+ - \`tx_hash\` is REQUIRED. Must be 64 hex chars.
203
+ - \`decode\` is OPTIONAL (default true). Pass false to ask the daemon to skip the JSON-decoded view (raw hex still comes back; the field hint that the binary is available).
204
+ - \`include_sc_context\` is OPTIONAL (default true). Set false to skip the inline extractScSurface call for SC install txs (useful when you only need confirmation / ring info).
205
+
206
+ Output: \`{ tx_hash, confirmation: { status, block_height, valid_block, invalid_blocks, in_pool }, kind, ring: { groups, first_group_size }, reward, signer_visible, native_balance, sc_install: { scid, surface, raw_code_length, has_code } | null, raw_tx_hex_length, narrative, related_docs, _diagnostics }\`. \`sc_install\` is non-null ONLY when the tx is a contract install AND the surface extractor produced something (tx_hash IS the resulting SCID in that case). SC invocation arg decoding is NOT performed — that requires walking the binary tx blob with the DERO tx codec, which is not bundled in this MCP. The composite surfaces \`raw_tx_hex_length\` so the agent knows the binary is available via dero_get_transaction. On unknown hash the daemon returns an empty record and the composite returns a structured \`_meta.error\` with code \`TX_NOT_FOUND\`.`,
207
+ estimate_deploy_cost: `Composite: send a DVM-BASIC contract source to the daemon's gas estimator, then return the raw estimate alongside a plain-text breakdown (what each gas number means), the parsed contract surface, and curated DVM deploy docs as citations.
208
+
209
+ When to call: BEFORE asking a wallet to broadcast a deploy transaction, OR when explaining the cost of a contract to a user. PREFER this over chaining dero_get_gas_estimate yourself: this composite already explains gascompute vs gasstorage in plain language, parses the SC source to show what functions the user is about to deploy (reusing extractScSurface from explain_smart_contract), and protects against fabricating a breakdown when the daemon reports 0/0 with a non-OK status.
210
+
211
+ Input Requirements:
212
+ - \`sc\` is REQUIRED. The full DVM-BASIC contract source — must contain at least one \`Function ... End Function\` block. A function body alone will fail with INVALID_INPUT.
213
+ - \`signer\` is OPTIONAL. A dero1.../deto1... address that will sign the eventual deploy tx. The daemon uses it for fee context; omitting it still returns a meaningful estimate.
214
+ - \`include_breakdown\` is OPTIONAL (default true). Set false when you only need the raw numbers (e.g. piping into a fee table).
215
+
216
+ Output: \`{ estimate: { gascompute, gasstorage, status }, breakdown: { compute_note, storage_note, total_units } | null, signer_used, include_breakdown, sc_surface: { functions, stringkeys, uint64keys, raw_code_length, function_count }, related_docs }\`. \`breakdown\` is null when \`include_breakdown=false\` OR when the daemon returned 0/0 with a non-OK status (never fabricated). On DVM compile failure the composite returns a structured \`_meta.error\` with code \`INVALID_INPUT\` and the daemon's exact compile message in \`_meta.error.raw\`.`,
217
+ recommend_docs_path: `Composite: take a natural-language intent, fan out parallel scoped searches across the bundled docs for all four DERO products (derod, tela, hologram, deropay), boost any product_hint matches by 1.5×, and return a ranked recommendation list with per-result rationale plus ready-to-cite related_docs.
218
+
219
+ When to call: at the START of any "where do I read about X?" or "which docs cover Y?" investigation, BEFORE calling dero_docs_search directly. PREFER this over guessing the right product: this composite already runs all four products in parallel, dedupes overlap, surfaces the top heading per result as rationale, and gives you the top-2 citations pre-built. Pass product_hint when the user has already said e.g. "TELA" or "DeroPay" so that product's matches float to the top.
220
+
221
+ Input Requirements:
222
+ - \`intent\` is REQUIRED. Free-text description of what the user is trying to do (min 8 chars). Drop verbs and use product nouns like "deploy a TELA app" or "verify a DeroPay webhook signature" for best results.
223
+ - \`product_hint\` is OPTIONAL. One of \`derod | tela | hologram | deropay\`. Multiplies hint-product scores by 1.5×.
224
+ - \`limit_per_product\` is OPTIONAL (default 2, max 5). Cap per-product hits before merging.
225
+
226
+ Output: \`{ intent, product_hint, limit_per_product, recommended: [{ product, slug, title, canonical_url, score, boosted_score, rationale }], by_product: { derod | tela | hologram | deropay: { count, top_slug, top_score } }, related_docs: DeroCitation[] }\`. \`related_docs\` is the top-2 picks pre-built as citations the agent can drop straight into a response. On zero matches across every product the composite returns a structured \`_meta.error\` with code \`NO_DOCS_MATCH\` and a hint to rephrase or drop the product_hint.`,
227
+ explain_smart_contract: `Composite: fetch a DERO smart contract (code + variables + balances) and return its function surface, a classification of the contract pattern (token | registry | minimal | generic), a plain-language narrative, and curated DVM docs citations re-ordered so the most relevant page is first.
228
+
229
+ When to call: when the user wants to UNDERSTAND a smart contract — its functions, state shape, or which DVM concept to read about. PREFER this over chaining dero_get_sc with a docs lookup yourself: this composite already parses the DVM-BASIC source for function declarations, sorts stringkeys/uint64keys deterministically, and picks the right docs page from a heuristic so the agent does not have to learn DVM-BASIC syntax to summarize a contract.
230
+
231
+ Input Requirements:
232
+ - \`scid\` is REQUIRED. Must be 64 hex chars (the smart contract id). Use \`0000…0001\` for the on-chain name registry as a known-good example.
233
+ - \`topoheight\` is OPTIONAL. Provide to inspect the contract at a specific topo height; omit for latest tip.
234
+
235
+ Output: \`{ scid, topoheight, kind, surface: { functions[], stringkeys[], uint64keys[], balances }, narrative, raw_code_length, has_code, related_docs }\`. \`kind\` is one of \`token | registry | minimal | generic\`. \`surface.functions\` items are \`{ name, args, returns }\`. \`has_code\` is false when the SCID is unknown or has no on-chain code; \`functions\` is then \`[]\` and the narrative explains the gap. \`raw_code_length\` is always present so the agent knows when to fall back to \`dero_get_sc\` for the full source.`,
236
+ diagnose_chain_health: `Composite: run a four-step chain (DERO.Ping → DERO.GetInfo → DERO.GetHeight → DERO.GetTxPool) and return a single narrative health report with chain metadata, mempool snapshot, machine-readable signals, and curated docs citations.
237
+
238
+ When to call: as the first step in any chain-state investigation when the user asks "is the node healthy", "is it synced", or "what is the current state of the chain". PREFER this over chaining the four primitives yourself — the composite handles partial-failure modes and lag-depth classification consistently, and the response already cites the right docs page.
239
+
240
+ Input Requirements:
241
+ - \`include_tx_pool\` is OPTIONAL (default true). Set false to skip the mempool snapshot when you only need chain-tip status.
242
+
243
+ Output: \`{ status, narrative, signals[], chain, mempool, related_docs, _diagnostics }\`. \`status\` is one of \`healthy | lagging | partial | unreachable\`. \`chain\` is null when DERO.GetInfo was unreachable; \`mempool\` is null when skipped or the call failed. On total daemon unreachability the tool returns a structured \`_meta.error\` with code \`RPC_UNREACHABLE\`.`,
244
+ audit_chain_artifact_claim: `Composite: audit a chain artifact (block topoheight, block hash, TX hash, and/or proof string) end-to-end. Returns a verdict (\`cited_in_false_claim\` | \`clean\`), the actual on-chain facts (block reward, TX acceptance status), an optional proof-string decode, a relayable narrative, and curated rebuttal docs citations.
245
+
246
+ When to call: when the user asks "what's going on with DERO block X?" / "is this transaction the inflation-claim TX?" / "does this proof string come from a known false claim?" PREFER this over chaining \`dero_get_block_header_by_topo_height\` + \`dero_get_transaction\` + \`dero_decode_proof_string\` yourself: the composite already runs them in parallel, joins them against the flagged false-claim registry, and emits a single \`verdict\` field plus a narrative so the agent does not need to compose the rebuttal arc from scratch each time.
247
+
248
+ Input Requirements (CRITICAL):
249
+ - At least ONE of \`topoheight\`, \`block_hash\`, \`tx_hash\`, or \`proof_string\` MUST be provided. The composite throws \`INVALID_INPUT\` otherwise.
250
+ - \`topoheight\` is OPTIONAL. Non-negative integer.
251
+ - \`block_hash\` is OPTIONAL. 64 hex characters.
252
+ - \`tx_hash\` is OPTIONAL. 64 hex characters.
253
+ - \`proof_string\` is OPTIONAL. Full \`deroproof…\` / DERO bech32 string with HRP.
254
+ - \`include_forge_demo\` is OPTIONAL (default false). When true AND \`tx_hash\` is provided, also forges a fresh demo proof for the same TX (via \`dero_forge_demo_proof\`) and embeds it under \`forge_demo\`. The demo amount auto-selects: a flagged artifact's pinned amount (e.g. -2.2M for the 2022 claim) > the cited \`proof_string\` V > -1 DERO. PREFER setting this true when the agent is fielding a "Verified ✓ means the chain minted coins, right?" question — the embedded forge IS the refutation.
255
+
256
+ Output: \`{ verdict, inputs, matched_artifacts[], context_note, chain_facts, proof_decode, forge_demo, narrative, related_docs, _diagnostics }\`. \`verdict\` is \`cited_in_false_claim\` when any input matches the flagged-artifact registry, else \`clean\`. \`chain_facts\` is null when no chain-querying input was provided or all daemon calls failed; \`proof_decode\` is null when no \`proof_string\` was provided. \`forge_demo\` is null unless \`include_forge_demo: true\` was passed; on success it carries \`{ skipped: false, forged_proof_string, target_amount, ring_slot, ring_size, ring_receiver_address, math, self_check, explorer_display_amount, demo_amount_source }\` (the slim form — full citations stay at the top level).
257
+
258
+ PREFER citing the returned \`related_docs\` verbatim in the agent response — they are the canonical rebuttal pages and have been validated against the bundled docs index by CI. Quote the \`context_note\` when verdict is \`cited_in_false_claim\` so the user understands why the artifact matters.`,
259
+ dero_decode_proof_string: `Decode any DERO bech32 string (\`dero…\`, \`deto…\`, \`deroi…\`, \`detoi…\`, or \`deroproof…\`) into its constituent parts: HRP, network, compressed public key, and any embedded RPC arguments (CBOR-encoded). For \`deroproof…\` strings the "public key" is a derived blinder point used in the proof's commitment math, NOT a wallet pubkey — the tool surfaces \`is_proof: true\` so the agent does not mislabel it.
260
+
261
+ When to call: when the user pastes a \`deroproof…\` / integrated-address string and wants to know what value or fields it encodes. PREFER this over chaining bech32 decoders + CBOR libraries yourself: the tool implements the exact same wire format as DEROHE \`rpc.NewAddress\` and surfaces the \`RPC_VALUE_TRANSFER\` uint64 both as raw and as a signed/wraparound interpretation. The decoder is verified against the publicly-cited 2022 inflation-claim proof string (embedded uint64 = 18446743853709551435 = signed -2,200,000.00181 DERO).
262
+
263
+ Input Requirements (CRITICAL):
264
+ - \`proof_string\` is REQUIRED. The full bech32 string including HRP and separator (e.g. \`deroproof1qyy…\`). Whitespace is trimmed but the case must be consistent (all lower OR all upper per BIP-0173).
265
+
266
+ Output: \`{ decoded: { hrp, mainnet, is_proof, public_key_hex, arguments[] }, value_interpretation?: { uint64, signed_int64, is_negative_wraparound, signed_atoms, dero }, context_note?, related_docs? }\`. \`arguments\` is an array of \`{ name, type, type_label, semantic_name?, value }\`. \`value_interpretation\` is present only when an \`RPC_VALUE_TRANSFER\` (V) + \`uint64\` (U) argument is found. \`context_note\` + extra \`related_docs\` are silently attached when the input matches a flagged adversarially-cited artifact. Returns a structured \`_meta.error\` with code \`INVALID_BECH32\` on parse failure.
267
+
268
+ PREFER citing \`integrity/payload-vs-transaction-proofs\` and \`integrity/negative-transfer-protection\` in any agent response that frames a \`deroproof…\` decode result — readers should understand that "this string decodes to value V" is a display-layer fact, not a consensus statement.`,
269
+ dero_forge_demo_proof: `Composite: build a fresh \`deroproof…\` display object for ANY chosen transaction, ring slot, and amount — including negative amounts that uint64-wrap into the trillions. The forged string is constructed locally from public chain data (no wallet, no keys, no broadcast). On an unpatched explorer it shows **Verified ✓** for the chosen amount; on the chain, nothing has changed.
270
+
271
+ When to call: when a user pastes a \`deroproof…\` string and asks "does Verified ✓ mean the chain minted these coins?" Forge an equivalent string for the same TX with a different amount and show the result side-by-side — that is the most direct refutation. Also useful for reproducing the \`docs/integrity/inflation-claim\` Part 3 demonstration on arbitrary inputs.
272
+
273
+ Math: \`blinder = C[ring_slot] − amount × G\`, then \`bech32("deroproof", version || blinder || CBOR({HH: zeros, VU: uint64}))\`. The tool runs the same equation \`proof.Prove()\` checks at \`proof/proof.go:88-95\` and self-verifies before returning a string. If the self-check fails, the tool throws rather than emit a string that would not verify.
274
+
275
+ Input Requirements (CRITICAL):
276
+ - Exactly ONE of \`tx_hash\` or \`tx_hex\` MUST be provided. \`tx_hash\` triggers a daemon fetch (and surfaces the receiver address); \`tx_hex\` skips the daemon and uses the raw bytes the caller already has.
277
+ - \`ring_slot\` is OPTIONAL (default 0). Must be in [0, ring_size).
278
+ - \`amount_dero\` is OPTIONAL (default "-1"). Signed decimal with up to 5 fractional digits, e.g. \`"-1"\`, \`"1000000"\`, \`"-2200000.00181"\`. Negative values produce uint64 wraparounds that unpatched explorers render as positive trillions.
279
+
280
+ Output: \`{ forged_proof_string, target_amount: { dero, atoms_signed, atoms_uint64 }, ring_slot, ring_size, ring_receiver_address, math: { C_slot_hex, amount_x_G_hex, blinder_hex }, self_check: { verified, method }, explorer_display_amount, context_note, related_docs, _diagnostics }\`. \`ring_receiver_address\` is null when \`tx_hex\` was passed (the hex carries publickey pointers, not addresses).
281
+
282
+ READ-ONLY: this tool never broadcasts, never touches a wallet, never mutates chain state. It computes a string from public inputs and returns it. Annotation \`readOnlyHint: true\` is preserved. PREFER citing the returned \`related_docs\` (the integrity rebuttal pages) in any agent response — readers should understand the forged string is a display-layer object, not a consensus event.`,
283
+ };
284
+ export const DERO_TOOL_NAMES = Object.keys(TOOL_DESCRIPTIONS);
285
+ //# sourceMappingURL=tool-descriptions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tool-descriptions.js","sourceRoot":"","sources":["../src/tool-descriptions.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAEH,MAAM,CAAC,MAAM,iBAAiB,GAAG;IAC/B,gBAAgB,EAAE;;;;;;sJAMkI;IAEpJ,gBAAgB,EAAE;;;;;;;sDAOkC;IAEpD,aAAa,EAAE;;;;;;uKAMsJ;IAErK,eAAe,EAAE;;;;;;kDAM+B;IAEhD,oBAAoB,EAAE;;;;;;uBAMD;IAErB,0BAA0B,EAAE;;;;;;wFAM0D;IAEtF,cAAc,EAAE;;;;;;;;;2FASyE;IAEzF,oCAAoC,EAAE;;;;;;;4EAOoC;IAE1E,6BAA6B,EAAE;;;;;;;qCAOI;IAEnC,gBAAgB,EAAE;;;;;;4CAMwB;IAE1C,uBAAuB,EAAE;;;;;;;mCAOQ;IAEjC,oBAAoB,EAAE;;;;;;;;uHAQ+F;IAErH,0BAA0B,EAAE;;;;;;;;;;;qEAWuC;IAEnE,WAAW,EAAE;;;;;;;;;;4EAU6D;IAE1E,qBAAqB,EAAE;;;;;;;;;;gDAUuB;IAE9C,oBAAoB,EAAE;;;;;;;;4GAQoF;IAE1G,uBAAuB,EAAE;;;;;;;;;gJASqH;IAE9I,gBAAgB,EAAE;;;;;;;;;;8GAU0F;IAE5G,kBAAkB,EAAE;;;;;;;;uLAQiK;IAErL,cAAc,EAAE;;;;;;;;8GAQ4F;IAE5G,8BAA8B,EAAE;;;;;;;;;01BASwzB;IAEx1B,oBAAoB,EAAE;;;;;;;;;oiBAS4gB;IAEliB,mBAAmB,EAAE;;;;;;;;;ghBASyf;IAE9gB,sBAAsB,EAAE;;;;;;;;khBAQwf;IAEhhB,qBAAqB,EAAE;;;;;;;oXAO2V;IAElX,0BAA0B,EAAE;;;;;;;;;;;;;;uSAcyQ;IAErS,wBAAwB,EAAE;;;;;;;;;gSASoQ;IAE9R,qBAAqB,EAAE;;;;;;;;;;;;;mYAa0W;CACzX,CAAA;AAIV,MAAM,CAAC,MAAM,eAAe,GAA4B,MAAM,CAAC,IAAI,CACjE,iBAAiB,CACA,CAAA"}
@@ -0,0 +1,63 @@
1
+ /**
2
+ * Minimal DERO transaction parser — extracts what the FORGE feature needs.
3
+ *
4
+ * Parses NORMAL, BURN_TX, and SC_TX transactions up through each payload's
5
+ * Statement (in particular, the `C[]` array of ring commitments). Does NOT
6
+ * parse the Bulletproof / sigma proofs at the end of the TX — they are large,
7
+ * complex, and irrelevant to forging a display-only payload proof.
8
+ *
9
+ * Wire format mirrors `transaction/transaction.go:Deserialize` (TX outer
10
+ * structure) and `cryptography/crypto/protocol_structures.go:Statement.Deserialize`
11
+ * (per-payload ring state).
12
+ *
13
+ * COINBASE / PREMINE / REGISTRATION transactions are rejected — they have no
14
+ * payloads, so there is nothing to forge a proof against.
15
+ */
16
+ import { type DeroPoint } from './bn254.js';
17
+ export declare enum TransactionType {
18
+ PREMINE = 0,
19
+ REGISTRATION = 1,
20
+ COINBASE = 2,
21
+ NORMAL = 3,
22
+ BURN_TX = 4,
23
+ SC_TX = 5
24
+ }
25
+ export type ParsedStatement = {
26
+ ring_size: number;
27
+ bytes_per_publickey: number;
28
+ fees: bigint;
29
+ /** Compressed ephemeral key D = rG (sender's blinding scalar × G). */
30
+ D: DeroPoint;
31
+ D_hex: string;
32
+ /** Ring-member pointers (sha256 prefixes; cannot recover full addresses from these alone). */
33
+ publickey_pointers: Uint8Array;
34
+ /** Per-ring-slot commitment C[i] = amount_i × G + blinder_i. */
35
+ C: DeroPoint[];
36
+ C_hex: string[];
37
+ roothash: Uint8Array;
38
+ };
39
+ export type ParsedPayload = {
40
+ burn_value: bigint;
41
+ scid_hex: string;
42
+ rpc_type: number;
43
+ rpc_payload: Uint8Array;
44
+ statement: ParsedStatement;
45
+ };
46
+ export type ParsedTransaction = {
47
+ version: bigint;
48
+ source_network: bigint;
49
+ dest_network: bigint;
50
+ type: TransactionType;
51
+ height: bigint;
52
+ blid_hex: string;
53
+ payloads: ParsedPayload[];
54
+ /** Bytes consumed up through the last payload's Statement (proofs/SCDATA ignored). */
55
+ bytes_consumed: number;
56
+ };
57
+ /**
58
+ * Parse a hex-encoded DERO transaction up through each payload's Statement.
59
+ * Proofs and SCDATA (after payloads) are intentionally skipped.
60
+ */
61
+ export declare function parseTransaction(hex: string): ParsedTransaction;
62
+ export declare function getRingCommitment(tx: ParsedTransaction, ringSlot: number, payloadIndex?: number): DeroPoint;
63
+ //# sourceMappingURL=tx-parse.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tx-parse.d.ts","sourceRoot":"","sources":["../src/tx-parse.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAAkB,KAAK,SAAS,EAAE,MAAM,YAAY,CAAA;AAE3D,oBAAY,eAAe;IACzB,OAAO,IAAI;IACX,YAAY,IAAI;IAChB,QAAQ,IAAI;IACZ,MAAM,IAAI;IACV,OAAO,IAAI;IACX,KAAK,IAAI;CACV;AAgDD,MAAM,MAAM,eAAe,GAAG;IAC5B,SAAS,EAAE,MAAM,CAAA;IACjB,mBAAmB,EAAE,MAAM,CAAA;IAC3B,IAAI,EAAE,MAAM,CAAA;IACZ,sEAAsE;IACtE,CAAC,EAAE,SAAS,CAAA;IACZ,KAAK,EAAE,MAAM,CAAA;IACb,8FAA8F;IAC9F,kBAAkB,EAAE,UAAU,CAAA;IAC9B,gEAAgE;IAChE,CAAC,EAAE,SAAS,EAAE,CAAA;IACd,KAAK,EAAE,MAAM,EAAE,CAAA;IACf,QAAQ,EAAE,UAAU,CAAA;CACrB,CAAA;AAED,MAAM,MAAM,aAAa,GAAG;IAC1B,UAAU,EAAE,MAAM,CAAA;IAClB,QAAQ,EAAE,MAAM,CAAA;IAChB,QAAQ,EAAE,MAAM,CAAA;IAChB,WAAW,EAAE,UAAU,CAAA;IACvB,SAAS,EAAE,eAAe,CAAA;CAC3B,CAAA;AAED,MAAM,MAAM,iBAAiB,GAAG;IAC9B,OAAO,EAAE,MAAM,CAAA;IACf,cAAc,EAAE,MAAM,CAAA;IACtB,YAAY,EAAE,MAAM,CAAA;IACpB,IAAI,EAAE,eAAe,CAAA;IACrB,MAAM,EAAE,MAAM,CAAA;IACd,QAAQ,EAAE,MAAM,CAAA;IAChB,QAAQ,EAAE,aAAa,EAAE,CAAA;IACzB,sFAAsF;IACtF,cAAc,EAAE,MAAM,CAAA;CACvB,CAAA;AAiED;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,MAAM,GAAG,iBAAiB,CA4C/D;AAMD,wBAAgB,iBAAiB,CAC/B,EAAE,EAAE,iBAAiB,EACrB,QAAQ,EAAE,MAAM,EAChB,YAAY,SAAI,GACf,SAAS,CASX"}