otto-intel-mcp 0.1.0 → 0.1.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +188 -54
- package/dist/data-source.d.ts +19 -0
- package/dist/data-source.js +2 -1
- package/dist/execution-delegation-admin.d.ts +1 -1
- package/dist/execution-delegation-admin.js +1 -1
- package/dist/execution-delegation.d.ts +17 -1
- package/dist/execution-delegation.js +45 -2
- package/dist/execution-errors.d.ts +1 -1
- package/dist/execution-errors.js +6 -0
- package/dist/execution-registration.js +6 -1
- package/dist/mcp-server.d.ts +1 -1
- package/dist/mcp-server.js +12 -1
- package/dist/package-version.d.ts +6 -0
- package/dist/package-version.js +9 -0
- package/dist/x402-read-source.d.ts +8 -1
- package/dist/x402-read-source.js +19 -1
- package/package.json +48 -11
- package/dist/adapter/cdp-signer.js.map +0 -1
- package/dist/adapter/chain.js.map +0 -1
- package/dist/adapter/erc20.js.map +0 -1
- package/dist/adapter/lifi-decode.js.map +0 -1
- package/dist/adapter/refusal.js.map +0 -1
- package/dist/adapter/sent-step.js.map +0 -1
- package/dist/adapter/verify.js.map +0 -1
package/README.md
CHANGED
|
@@ -1,43 +1,54 @@
|
|
|
1
|
-
#
|
|
1
|
+
# Otto Intel MCP
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
Market intelligence and trade construction for AI agents, over MCP: SEC filings and insider flow for US stocks, tokenized equities on Robinhood Chain, Base and Polymarket market context, plus four **constructors** that build a ready-to-sign swap, bridge, Polymarket order or Hyperliquid perp order for an address you supply. Pay per call in USDC on Base; on the hosted server the first call from your network address is free.
|
|
4
4
|
|
|
5
|
-
- Hosted
|
|
6
|
-
- Local
|
|
5
|
+
- Hosted: `https://mcp.ottoai.services` — 21 tools.
|
|
6
|
+
- Local: `npx otto-intel-mcp` — the 10 intelligence tools, paid from a wallet you configure.
|
|
7
|
+
- Docs: https://docs.useotto.xyz/acp-swarm/otto-intel-mcp
|
|
7
8
|
|
|
8
|
-
|
|
9
|
+
## Quick start (hosted, under a minute)
|
|
9
10
|
|
|
10
|
-
|
|
11
|
+
**Claude Code**
|
|
11
12
|
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
13
|
+
```bash
|
|
14
|
+
claude mcp add otto-intel --transport http https://mcp.ottoai.services
|
|
15
|
+
```
|
|
16
|
+
|
|
17
|
+
**Cursor, Claude Desktop, Codex CLI, any MCP client** — add a remote server with this URL (Cursor: `~/.cursor/mcp.json`; Claude Desktop: Connectors → add custom connector; Codex: `codex mcp add otto-intel --url https://mcp.ottoai.services`):
|
|
18
|
+
|
|
19
|
+
```json
|
|
20
|
+
{
|
|
21
|
+
"mcpServers": {
|
|
22
|
+
"otto-intel": { "url": "https://mcp.ottoai.services" }
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
```
|
|
26
|
+
|
|
27
|
+
**First call** — ask your agent, or call the tool directly:
|
|
28
|
+
|
|
29
|
+
```text
|
|
30
|
+
Use otto_pm_crypto and summarize the top three markets.
|
|
31
|
+
```
|
|
32
|
+
|
|
33
|
+
```json
|
|
34
|
+
{ "method": "tools/call", "params": { "name": "otto_pm_crypto", "arguments": {} } }
|
|
35
|
+
```
|
|
24
36
|
|
|
25
|
-
|
|
37
|
+
(a standard MCP `tools/call` request — your MCP client wraps it in JSON-RPC and handles `initialize` and the Streamable HTTP session)
|
|
26
38
|
|
|
27
|
-
|
|
39
|
+
That call is free (one per network address). The next one returns a payment request; your agent signs it with an x402 wallet and retries with the signed payload in `x_payment` — see [How paying works](#how-paying-works).
|
|
28
40
|
|
|
29
|
-
##
|
|
41
|
+
## Quick start (local)
|
|
30
42
|
|
|
31
|
-
|
|
43
|
+
Runs the 10 intelligence tools on your machine and pays each call from a wallet you provide. It needs one variable, `X402_PRIVATE_KEY` — the key of a wallet holding some USDC on Base.
|
|
32
44
|
|
|
33
|
-
|
|
45
|
+
**Claude Code**
|
|
34
46
|
|
|
35
47
|
```bash
|
|
36
|
-
|
|
37
|
-
npx -y otto-intel-mcp
|
|
48
|
+
claude mcp add otto-intel -e X402_PRIVATE_KEY=0x… -- npx -y otto-intel-mcp
|
|
38
49
|
```
|
|
39
50
|
|
|
40
|
-
|
|
51
|
+
**Any MCP client (stdio)** — Cursor: `~/.cursor/mcp.json`; Claude Desktop: `claude_desktop_config.json`:
|
|
41
52
|
|
|
42
53
|
```json
|
|
43
54
|
{
|
|
@@ -45,58 +56,181 @@ Example MCP configuration:
|
|
|
45
56
|
"otto-intel": {
|
|
46
57
|
"command": "npx",
|
|
47
58
|
"args": ["-y", "otto-intel-mcp"],
|
|
48
|
-
"env": {
|
|
49
|
-
"X402_PRIVATE_KEY": "${X402_PRIVATE_KEY}"
|
|
50
|
-
}
|
|
59
|
+
"env": { "X402_PRIVATE_KEY": "0x…" }
|
|
51
60
|
}
|
|
52
61
|
}
|
|
53
62
|
}
|
|
54
63
|
```
|
|
55
64
|
|
|
56
|
-
|
|
65
|
+
Requires Node 22 or newer. Optional: `X402_RPC_URL` (your own Base RPC), `X402_TIMEOUT_MS` (default 30000). The local server serves the 10 intelligence tools only — **the four constructors are hosted-only**: to get an envelope, call `otto_prepare_swap` on `https://mcp.ottoai.services` (free). A paid local call carries the rail's settlement receipt in the result metadata under `com.ottoai/payment-response`, exactly like the hosted server.
|
|
57
66
|
|
|
58
|
-
|
|
67
|
+
`npm audit` on a fresh install reports findings that all sit in the local server's third-party venue clients (`@polymarket/clob-client-v2` → ethers v5 → `ws`, `@nktkas/hyperliquid` → `valibot`, the optional `@coinbase/cdp-sdk` → an older `axios`), none of which the library entries (`otto-intel-mcp/execution`, `/adapter`, `/adapter-cdp`) or `otto-execute` load — `otto-execute` on its own installs 19 packages with 0 findings. `npm install otto-intel-mcp --omit=optional` drops the Coinbase subtree if you do not delegate.
|
|
59
68
|
|
|
60
|
-
|
|
69
|
+
## What you get
|
|
61
70
|
|
|
62
|
-
|
|
71
|
+
### Intelligence tools — hosted and local
|
|
63
72
|
|
|
64
|
-
|
|
73
|
+
| Tool | Argument | Returns | Price |
|
|
74
|
+
| --- | --- | --- | ---: |
|
|
75
|
+
| `otto_tokenized_equities` | optional `thesis` | The live registry of US stocks and ETFs tokenized on Robinhood Chain — symbol, token address, reference price, tradability; with a thesis, a ranked shortlist with a match reason per row | $0.001 |
|
|
76
|
+
| `otto_rh_season` | — | Robinhood Chain movers, rug-screened, with per-token risk flags | $0.001 |
|
|
77
|
+
| `otto_equity_intel` | `ticker` | SEC fundamentals for a US ticker: revenue and net-income trend, margins, EPS, leverage, recent 10-K / 10-Q / 8-K filings, and a short summary | $0.003 |
|
|
78
|
+
| `otto_insider_trades` | `ticker` | Parsed SEC Form 4 insider transactions: purchases vs sales, dollar values, roles, net balance | $0.003 |
|
|
79
|
+
| `otto_institutional_holdings` | `manager` (CIK or ticker, e.g. `1067983` or `BLK`) | The latest 13F-HR top positions for an institutional manager, amendments applied | $0.003 |
|
|
80
|
+
| `otto_equity_smart_money` | `ticker` | Form 4 insider activity plus trailing-twelve-month XBRL fundamentals in one bundle | $0.006 |
|
|
81
|
+
| `otto_equity_smart_money_brief` | `ticker` | One AI-written brief over Form 4 flow, 13D/13G ownership events and fundamentals | $0.10 |
|
|
82
|
+
| `otto_base_season` | — | Quality-screened Base tokens with current social and trusted-KOL context | $0.002 |
|
|
83
|
+
| `otto_pm_markets` | — | The highest-volume open Polymarket markets: outcome probabilities, bid/ask, liquidity, volume, end dates | $0.001 |
|
|
84
|
+
| `otto_pm_crypto` | — | The same for BTC, ETH and crypto Polymarket markets | $0.001 |
|
|
65
85
|
|
|
66
|
-
|
|
86
|
+
All of these return data and context, not recommendations.
|
|
67
87
|
|
|
68
|
-
|
|
88
|
+
### Execution constructors — hosted, free
|
|
69
89
|
|
|
70
|
-
|
|
90
|
+
A constructor builds the transaction; **your wallet signs and sends it.** Give it the address that will sign, and it returns an *envelope*: the ordered steps (for example allowance reset → approval → swap), every check it ran on its own output, a `valid_until`, and a digest so a stale or altered plan is detectable. Otto Intel MCP itself never signs or submits.
|
|
71
91
|
|
|
72
|
-
|
|
73
|
-
|
|
92
|
+
| Tool | Builds | For |
|
|
93
|
+
| --- | --- | --- |
|
|
94
|
+
| `otto_prepare_swap` | A same-chain ERC-20 swap via LI.FI, as ready-to-sign steps | Your EOA or Safe on any supported EVM chain |
|
|
95
|
+
| `otto_prepare_bridge` | A cross-chain native-USDC bridge over Circle CCTP (Ethereum, Polygon, Base, Arbitrum, Avalanche) | Your EOA or Safe |
|
|
96
|
+
| `otto_prepare_polymarket_order` | A Polymarket CTF Exchange V2 limit order as typed data, tick and size validated against the live market | Your Polygon EOA |
|
|
97
|
+
| `otto_prepare_perp_order` | A Hyperliquid perp limit order (optional take-profit / stop-loss), as the L1 action plus the exact EIP-712 recipe to sign | Your Hyperliquid account |
|
|
98
|
+
|
|
99
|
+
To verify, sign and submit an envelope from the command line or from code, use the companion [`otto-execute`](https://www.npmjs.com/package/otto-execute) (CLI + library, `npm install otto-execute`) — see the [execution seam docs](https://docs.useotto.xyz/acp-swarm/execution-seam).
|
|
100
|
+
|
|
101
|
+
### Always free
|
|
102
|
+
|
|
103
|
+
- `otto_catalog` — the complete live Otto x402 menu (paths, descriptions, prices, payment details).
|
|
104
|
+
- `otto_x_recipes` — Otto X's X Layer recipe menu with each recipe's payment requirement.
|
|
105
|
+
- `otto_delegation_fence_status` — whether the delegated-send fence is installed on this server (read-only).
|
|
106
|
+
|
|
107
|
+
The other four `otto_delegation_*` / `otto_submit_under_delegation` tools are server-to-server (they need Otto's delegation header); an agent reaches that path through `otto-execute delegate`, documented on the execution-seam page.
|
|
108
|
+
|
|
109
|
+
## How paying works
|
|
110
|
+
|
|
111
|
+
Calls are priced per tool ($0.001–$0.10) and paid in USDC on Base through x402. On the hosted server the first successful intelligence call from your network address (IP) is free; every call after that needs a payment:
|
|
112
|
+
|
|
113
|
+
1. Call the tool without `x_payment` → it returns `payment_required` (below) with the price and the exact requirement.
|
|
114
|
+
2. Sign it with an x402 client from a wallet holding USDC on Base. With `@x402/core` + `@x402/evm` + `viem`:
|
|
115
|
+
|
|
116
|
+
```ts
|
|
117
|
+
import { x402Client } from '@x402/core/client';
|
|
118
|
+
import { encodePaymentSignatureHeader } from '@x402/core/http';
|
|
119
|
+
import { ExactEvmScheme } from '@x402/evm/exact/client';
|
|
120
|
+
import { toClientEvmSigner } from '@x402/evm';
|
|
121
|
+
import { createPublicClient, http } from 'viem';
|
|
122
|
+
import { privateKeyToAccount } from 'viem/accounts';
|
|
123
|
+
import { base } from 'viem/chains';
|
|
124
|
+
|
|
125
|
+
const account = privateKeyToAccount(process.env.X402_PRIVATE_KEY as `0x${string}`);
|
|
126
|
+
const signer = toClientEvmSigner(account, createPublicClient({ chain: base, transport: http() }));
|
|
127
|
+
const client = new x402Client((_version, requirements) => requirements[0]); // pick accepts[0]
|
|
128
|
+
client.register('eip155:*', new ExactEvmScheme(signer));
|
|
129
|
+
|
|
130
|
+
const payload = await client.createPaymentPayload(result.payment_required); // the 402 body
|
|
131
|
+
const x_payment = encodePaymentSignatureHeader(payload); // base64 — the PAYMENT-SIGNATURE header value
|
|
74
132
|
```
|
|
75
133
|
|
|
76
|
-
|
|
134
|
+
3. Retry the same tool with that string in `x_payment`. The paid result carries the settlement receipt in its metadata under `com.ottoai/payment-response` — keep it; it is the proof a later rating or refund claim is made against.
|
|
77
135
|
|
|
78
|
-
|
|
136
|
+
If a route has no result for your input, it answers promptly and the free call is not consumed. If a paid delivery is interrupted, retry the same input with the same `x_payment`: the settled response is replayed without a second charge, or the attempt completes if it was never charged.
|
|
79
137
|
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
138
|
+
`payment_required` is the standard x402 v2 body (`accepts[0]` is the requirement to sign; `payment.requirement` is the same one, flattened for reading; `payment_required_header` is it base64-encoded for clients that consume the header form). Each requirement is valid for 300 seconds. If your MCP client has no x402 wallet of its own, the local server is the simplest route: it signs every payment from `X402_PRIVATE_KEY` automatically, with no free call.
|
|
139
|
+
|
|
140
|
+
## For agents: exact shapes
|
|
141
|
+
|
|
142
|
+
Intelligence tools take their one argument plus an optional `x_payment` string. Example, first call:
|
|
143
|
+
|
|
144
|
+
```json
|
|
145
|
+
{ "name": "otto_equity_intel", "arguments": { "ticker": "NVDA" } }
|
|
146
|
+
```
|
|
147
|
+
|
|
148
|
+
A successful result is one text part containing JSON — `otto_pm_crypto` returns, abbreviated:
|
|
149
|
+
|
|
150
|
+
```json
|
|
151
|
+
{
|
|
152
|
+
"status": "success",
|
|
153
|
+
"data": {
|
|
154
|
+
"venue": "polymarket",
|
|
155
|
+
"markets": [
|
|
156
|
+
{
|
|
157
|
+
"question": "Will the price of Bitcoin be above $70,000 on September 2?",
|
|
158
|
+
"outcomes": [{ "outcome": "Yes", "probability": 0.999 }, { "outcome": "No", "probability": 0.001 }],
|
|
159
|
+
"bestBid": 0.998, "bestAsk": 1, "liquidityUsd": 14749.24, "volume24hUsd": 103765.46,
|
|
160
|
+
"endDate": "2026-09-02T16:00:00Z", "url": "https://polymarket.com/event/bitcoin-above-on-september-2-2026"
|
|
161
|
+
}
|
|
162
|
+
]
|
|
163
|
+
}
|
|
164
|
+
}
|
|
165
|
+
```
|
|
166
|
+
|
|
167
|
+
An unpaid call after the free one returns `isError: true` with this payload (abbreviated) — sign it with an x402 client and retry with the encoded payload in `x_payment`:
|
|
168
|
+
|
|
169
|
+
```json
|
|
170
|
+
{
|
|
171
|
+
"error": "payment_required",
|
|
172
|
+
"status": 402,
|
|
173
|
+
"protocol": "x402",
|
|
174
|
+
"tool": "otto_pm_crypto",
|
|
175
|
+
"price_usdc": "0.001",
|
|
176
|
+
"payment": {
|
|
177
|
+
"network": "eip155:8453",
|
|
178
|
+
"asset": "USDC",
|
|
179
|
+
"amount_atomic": "1000",
|
|
180
|
+
"requirement": {
|
|
181
|
+
"scheme": "exact",
|
|
182
|
+
"network": "eip155:8453",
|
|
183
|
+
"amount": "1000",
|
|
184
|
+
"asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
|
|
185
|
+
"payTo": "0x0E84dDEdAaE6A779c462C22a59F301EC31B6b808",
|
|
186
|
+
"maxTimeoutSeconds": 300,
|
|
187
|
+
"extra": { "name": "USD Coin", "version": "2" }
|
|
188
|
+
}
|
|
189
|
+
},
|
|
190
|
+
"payment_required": { "x402Version": 2, "accepts": ["…the same requirement, x402 v2 shape…"] },
|
|
191
|
+
"payment_required_header": "<base64 of payment_required>",
|
|
192
|
+
"retry": { "tool": "otto_pm_crypto", "argument": "x_payment", "forwarding_header": "PAYMENT-SIGNATURE" }
|
|
193
|
+
}
|
|
194
|
+
```
|
|
195
|
+
|
|
196
|
+
Constructor arguments (addresses are `0x` + 40 hex; swap and bridge amounts are strings in atomic token units; Polymarket price/size and Hyperliquid size/price are plain decimal strings):
|
|
197
|
+
|
|
198
|
+
```json
|
|
199
|
+
{
|
|
200
|
+
"name": "otto_prepare_swap",
|
|
201
|
+
"arguments": {
|
|
202
|
+
"accountProfile": { "kind": "eoa", "address": "0xYourAddress", "chainId": 8453 },
|
|
203
|
+
"chainId": 8453,
|
|
204
|
+
"fromToken": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
|
|
205
|
+
"toToken": "0x4200000000000000000000000000000000000006",
|
|
206
|
+
"fromAmount": "1000000",
|
|
207
|
+
"slippage": { "maxBps": 50, "minAmountOut": "400000000000000" },
|
|
208
|
+
"client_ref": "my-trade-1"
|
|
209
|
+
}
|
|
210
|
+
}
|
|
84
211
|
```
|
|
85
212
|
|
|
86
|
-
|
|
213
|
+
- `otto_prepare_bridge`: `accountProfile`, `fromChainId`, `toChainId`, `fromToken`, `toToken` (native USDC on each side), `fromAmount`, `slippage`, optional `destinationRecipient` (required for a Safe).
|
|
214
|
+
- `otto_prepare_polymarket_order`: `accountProfile` (chainId 137), `tokenId` (the outcome token, not the condition id), `side` `BUY|SELL`, `price` (e.g. `"0.045"`, on the market's tick), `size` (shares).
|
|
215
|
+
- `otto_prepare_perp_order`: `accountProfile` (chainId 1337), `asset` (e.g. `"BTC"`), `side`, `size`, `limitPrice`, optional `timeInForce` `Gtc|Ioc|Alo`, `reduceOnly`, `takeProfitPrice`, `stopLossPrice`, `tradingSigner`, `vaultAddress`.
|
|
87
216
|
|
|
88
|
-
|
|
217
|
+
Every tool's full description and JSON schema comes back from `tools/list`.
|
|
89
218
|
|
|
90
|
-
|
|
219
|
+
## Using this package as a library
|
|
91
220
|
|
|
92
|
-
|
|
221
|
+
Three import paths, for code that consumes what the constructors produce (there is no root import — use the subpaths):
|
|
93
222
|
|
|
94
|
-
|
|
223
|
+
- `otto-intel-mcp/execution` — the envelope schema and types, the digest and freshness assertions, the fee and delegation constants.
|
|
224
|
+
- `otto-intel-mcp/adapter` — verify an envelope against your own intent and sign or submit it with an EOA.
|
|
225
|
+
- `otto-intel-mcp/adapter-cdp` — the same over a Coinbase CDP delegation (`@coinbase/cdp-sdk` is an optional dependency, loaded only here).
|
|
95
226
|
|
|
96
|
-
|
|
227
|
+
Field-by-field documentation: https://docs.useotto.xyz/acp-swarm/execution-seam.
|
|
97
228
|
|
|
98
|
-
|
|
229
|
+
## Links
|
|
99
230
|
|
|
100
|
-
|
|
231
|
+
- Docs: https://docs.useotto.xyz/acp-swarm/otto-intel-mcp · execution seam: https://docs.useotto.xyz/acp-swarm/execution-seam
|
|
232
|
+
- The full Otto x402 catalog: https://x402.ottoai.services
|
|
233
|
+
- Otto AI: https://useotto.xyz · X: [@useOttoAI](https://x.com/useOttoAI)
|
|
234
|
+
- Changelog: 0.1.2 — the hosted front door (`GET /`, `/health`) reports the live tool registry (21 tools, never a literal), the local server carries the settlement receipt like the hosted one, constructor descriptions state the freshness window, `serverInfo.version` = the package version; 0.1.1 — README rewritten for first-time users and agents, source maps removed from the package, publish gated by a privacy audit; 0.1.0 — first release (hosted + local server, execution constructors, library entries).
|
|
101
235
|
|
|
102
|
-
|
|
236
|
+
Running the hosted server yourself, or building from the monorepo: see `SETUP.md` in the repository.
|
package/dist/data-source.d.ts
CHANGED
|
@@ -2,6 +2,25 @@ import type { IntelToolDefinition, ToolArguments } from './tool-definitions.js';
|
|
|
2
2
|
export interface IntelReadOptions {
|
|
3
3
|
readonly signal?: AbortSignal;
|
|
4
4
|
}
|
|
5
|
+
/** The `_meta` name under which BOTH servers (hosted and local) carry the settlement receipt, `{ header, value }`. */
|
|
6
|
+
export declare const PAYMENT_RECEIPT_META = "com.ottoai/payment-response";
|
|
7
|
+
/** The paid rail's own settlement receipt: the header name it used and the value, verbatim. */
|
|
8
|
+
export interface IntelSettlementReceipt {
|
|
9
|
+
readonly header: string;
|
|
10
|
+
readonly value: string;
|
|
11
|
+
}
|
|
12
|
+
export interface IntelPaidRead {
|
|
13
|
+
readonly value: unknown;
|
|
14
|
+
/** Present only when the rail settled a payment for this read. */
|
|
15
|
+
readonly receipt?: IntelSettlementReceipt;
|
|
16
|
+
}
|
|
5
17
|
export interface IntelDataSource {
|
|
6
18
|
read(definition: IntelToolDefinition, input: ToolArguments, options?: IntelReadOptions): Promise<unknown>;
|
|
19
|
+
/**
|
|
20
|
+
* A read that also surfaces the settlement receipt when the source paid for it. A source that never
|
|
21
|
+
* pays (the hosted free path, the internal read source) leaves this undefined; the local x402 source
|
|
22
|
+
* implements it so the stdio server can carry the receipt under `com.ottoai/payment-response` exactly
|
|
23
|
+
* as the hosted server does — a receipt only the hosted path surfaced was the 0.1.1 local gap.
|
|
24
|
+
*/
|
|
25
|
+
readPaid?(definition: IntelToolDefinition, input: ToolArguments, options?: IntelReadOptions): Promise<IntelPaidRead>;
|
|
7
26
|
}
|
package/dist/data-source.js
CHANGED
|
@@ -27,7 +27,7 @@
|
|
|
27
27
|
* snapshot (same description, same rules digest); any change → refused, nothing written. `@coinbase/cdp-sdk`
|
|
28
28
|
* 1.54.0 offers no conditional update (`UpdatePolicyOptions` = { id, policy, idempotencyKey } — no revision,
|
|
29
29
|
* no ETag), so the window between that re-read and the write cannot be closed by code. It is closed by the
|
|
30
|
-
* OPERATIONAL PREMISE, stated here, in the tool description and in
|
|
30
|
+
* OPERATIONAL PREMISE, stated here, in the tool description and in SETUP.md: AT MOST ONE ENSURE WRITES
|
|
31
31
|
* PROJECT-WIDE AT A TIME, ACROSS VERSIONS — the ensure is an OPS action run by one operator, never during a
|
|
32
32
|
* rolling deploy (two versions of this tool running at once are two writers, and the older one would win a
|
|
33
33
|
* race and downgrade); the dApp never invokes it (PR-2's mint gate reads `fence.present` from
|
|
@@ -27,7 +27,7 @@
|
|
|
27
27
|
* snapshot (same description, same rules digest); any change → refused, nothing written. `@coinbase/cdp-sdk`
|
|
28
28
|
* 1.54.0 offers no conditional update (`UpdatePolicyOptions` = { id, policy, idempotencyKey } — no revision,
|
|
29
29
|
* no ETag), so the window between that re-read and the write cannot be closed by code. It is closed by the
|
|
30
|
-
* OPERATIONAL PREMISE, stated here, in the tool description and in
|
|
30
|
+
* OPERATIONAL PREMISE, stated here, in the tool description and in SETUP.md: AT MOST ONE ENSURE WRITES
|
|
31
31
|
* PROJECT-WIDE AT A TIME, ACROSS VERSIONS — the ensure is an OPS action run by one operator, never during a
|
|
32
32
|
* rolling deploy (two versions of this tool running at once are two writers, and the older one would win a
|
|
33
33
|
* race and downgrade); the dApp never invokes it (PR-2's mint gate reads `fence.present` from
|
|
@@ -12,7 +12,8 @@
|
|
|
12
12
|
* per-artifact idempotency record (sent → replayed, halted → never retried), then one delegated
|
|
13
13
|
* plan at a time per end user (the rig lock serialises revocation, not sends);
|
|
14
14
|
* 2. FENCE: the project policy is present, named and digests to v1 — else refuse;
|
|
15
|
-
* 3. GRANT: the user's delegation reads back active past the envelope's own expiry — else refuse;
|
|
15
|
+
* 3. GRANT: the user's delegation reads back active past the envelope's own expiry — else refuse; and
|
|
16
|
+
* its REMAINING validity is inside the ruled maximum (see below) — else refuse;
|
|
16
17
|
* 4. ACCOUNT: the address the caller prepared for is one of THIS end user's CDP accounts, as CDP reports
|
|
17
18
|
* them — never an address the caller binds on its own (a Dynamic-connected address is never a CDP
|
|
18
19
|
* end-user address by construction);
|
|
@@ -21,6 +22,13 @@
|
|
|
21
22
|
* 6. SEND: `CdpDelegatedSigner.sendPlan` — sealed receipts, halt clears the allowance, fail-closed once
|
|
22
23
|
* revocation was requested.
|
|
23
24
|
*
|
|
25
|
+
* 🔴 WHY THE EXPIRY BOUND LIVES HERE AND NOT ON THE MINT PATH. The mint is browser→Coinbase direct —
|
|
26
|
+
* `createDelegation({ expiresAt })` runs inside the end user's own session and Otto's server is not a hop
|
|
27
|
+
* on it. The 90/180-day bound the page and the CLI apply is therefore UX, not a control: a modified
|
|
28
|
+
* client, a hostile clock, or any other caller of Coinbase's API can mint whatever expiry COINBASE
|
|
29
|
+
* accepts, which is far more than 180 days. Otto is in the path at exactly one moment — when it goes to
|
|
30
|
+
* USE the grant — so that is where the ceiling is enforced, on the grant Otto reads back from CDP (step 3b).
|
|
31
|
+
*
|
|
24
32
|
* Nothing here logs the header, the secret, or a credential. Refusals are machine-readable codes; upstream
|
|
25
33
|
* error bodies are never relayed.
|
|
26
34
|
*/
|
|
@@ -34,6 +42,14 @@ import type { ExecutionToolRuntime } from './execution-tools.js';
|
|
|
34
42
|
export declare const DELEGATION_ENV_NAMES: readonly ["CDP_API_KEY_ID", "CDP_API_KEY_SECRET", "CDP_WALLET_SECRET", "OTTO_DELEGATION_SERVER_SECRET", "BASE_RPC_URL"];
|
|
35
43
|
/** The public CDP project id the fence-status tool publishes (a UUID; PUBLIC, never a secret). */
|
|
36
44
|
export declare const PUBLIC_PROJECT_ID_ENV_NAME: "OTTO_CDP_PROJECT_ID";
|
|
45
|
+
/**
|
|
46
|
+
* Clock skew allowed between Coinbase's issuer and this process when bounding a grant's remaining
|
|
47
|
+
* validity. Small on purpose: it is ADDED to the ceiling, so a generous value would widen the very bound
|
|
48
|
+
* it exists to make workable.
|
|
49
|
+
*/
|
|
50
|
+
export declare const DELEGATION_EXPIRY_SKEW_MS: number;
|
|
51
|
+
/** The ruled ceiling on how much longer a delegation may still be able to sign. See step 3b. */
|
|
52
|
+
export declare const DELEGATION_MAX_REMAINING_MS: number;
|
|
37
53
|
export interface DelegationEnv {
|
|
38
54
|
readonly credentials: CdpDeveloperCredentials;
|
|
39
55
|
readonly serverSecret: string;
|
|
@@ -12,7 +12,8 @@
|
|
|
12
12
|
* per-artifact idempotency record (sent → replayed, halted → never retried), then one delegated
|
|
13
13
|
* plan at a time per end user (the rig lock serialises revocation, not sends);
|
|
14
14
|
* 2. FENCE: the project policy is present, named and digests to v1 — else refuse;
|
|
15
|
-
* 3. GRANT: the user's delegation reads back active past the envelope's own expiry — else refuse;
|
|
15
|
+
* 3. GRANT: the user's delegation reads back active past the envelope's own expiry — else refuse; and
|
|
16
|
+
* its REMAINING validity is inside the ruled maximum (see below) — else refuse;
|
|
16
17
|
* 4. ACCOUNT: the address the caller prepared for is one of THIS end user's CDP accounts, as CDP reports
|
|
17
18
|
* them — never an address the caller binds on its own (a Dynamic-connected address is never a CDP
|
|
18
19
|
* end-user address by construction);
|
|
@@ -21,6 +22,13 @@
|
|
|
21
22
|
* 6. SEND: `CdpDelegatedSigner.sendPlan` — sealed receipts, halt clears the allowance, fail-closed once
|
|
22
23
|
* revocation was requested.
|
|
23
24
|
*
|
|
25
|
+
* 🔴 WHY THE EXPIRY BOUND LIVES HERE AND NOT ON THE MINT PATH. The mint is browser→Coinbase direct —
|
|
26
|
+
* `createDelegation({ expiresAt })` runs inside the end user's own session and Otto's server is not a hop
|
|
27
|
+
* on it. The 90/180-day bound the page and the CLI apply is therefore UX, not a control: a modified
|
|
28
|
+
* client, a hostile clock, or any other caller of Coinbase's API can mint whatever expiry COINBASE
|
|
29
|
+
* accepts, which is far more than 180 days. Otto is in the path at exactly one moment — when it goes to
|
|
30
|
+
* USE the grant — so that is where the ceiling is enforced, on the grant Otto reads back from CDP (step 3b).
|
|
31
|
+
*
|
|
24
32
|
* Nothing here logs the header, the secret, or a credential. Refusals are machine-readable codes; upstream
|
|
25
33
|
* error bodies are never relayed.
|
|
26
34
|
*/
|
|
@@ -30,7 +38,7 @@ import { CDP_CAPABILITIES, CdpDelegatedSigner, DelegatedPlanHaltedError, createC
|
|
|
30
38
|
import { isAdapterRefusal } from './adapter/refusal.js';
|
|
31
39
|
import { defaultAdapterPolicy, verifySwapEnvelope } from './adapter/verify.js';
|
|
32
40
|
import { DELEGATION_AUTH_HEADER, SUBMIT_UNDER_DELEGATION_INPUT_SCHEMA, } from './execution-delegated-definition.js';
|
|
33
|
-
import { assertWithinModelBFence, MODEL_B_CHAIN_ID, MODEL_B_PER_SWAP_CAP_USD, MODEL_B_POLICY_NAME_V1, readBackModelBFence, } from './execution-delegation-policy.js';
|
|
41
|
+
import { assertWithinModelBFence, MODEL_B_CHAIN_ID, MODEL_B_DELEGATION_EXPIRY_MAX_DAYS, MODEL_B_PER_SWAP_CAP_USD, MODEL_B_POLICY_NAME_V1, readBackModelBFence, } from './execution-delegation-policy.js';
|
|
34
42
|
import { EXECUTION_REFUSAL_CODES, ExecutionRefusal, isExecutionRefusal, refuse, } from './execution-errors.js';
|
|
35
43
|
import { artifactCommitmentDigest, canonicalJson, } from './execution-types.js';
|
|
36
44
|
import { DELEGATED_SUBMISSION_GRACE_MS, preparedHere } from './prepared-artifacts.js';
|
|
@@ -52,6 +60,14 @@ export const DELEGATION_ENV_NAMES = Object.freeze([
|
|
|
52
60
|
export const PUBLIC_PROJECT_ID_ENV_NAME = 'OTTO_CDP_PROJECT_ID';
|
|
53
61
|
const UUID_PATTERN = /^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i;
|
|
54
62
|
const MIN_SERVER_SECRET_LENGTH = 32;
|
|
63
|
+
/**
|
|
64
|
+
* Clock skew allowed between Coinbase's issuer and this process when bounding a grant's remaining
|
|
65
|
+
* validity. Small on purpose: it is ADDED to the ceiling, so a generous value would widen the very bound
|
|
66
|
+
* it exists to make workable.
|
|
67
|
+
*/
|
|
68
|
+
export const DELEGATION_EXPIRY_SKEW_MS = 5 * 60_000;
|
|
69
|
+
/** The ruled ceiling on how much longer a delegation may still be able to sign. See step 3b. */
|
|
70
|
+
export const DELEGATION_MAX_REMAINING_MS = MODEL_B_DELEGATION_EXPIRY_MAX_DAYS * 86_400_000 + DELEGATION_EXPIRY_SKEW_MS;
|
|
55
71
|
/**
|
|
56
72
|
* All five absent → the delegated tool does not exist (same shape as the OTTO_EXECUTION_MCP_ENABLED
|
|
57
73
|
* switch). Any present but not all → boot refuses, naming the MISSING variables (never a value).
|
|
@@ -425,6 +441,33 @@ export async function submitUnderDelegation(runtime, rawInput, caller, _signal)
|
|
|
425
441
|
expiresAtMs <= validUntilMs) {
|
|
426
442
|
return refuse('DELEGATION_NOT_ACTIVE', `the delegation expires at ${grant.expiresAt}, not after the envelope's valid_until ${input.envelope.valid_until}; renew the delegation or prepare again`);
|
|
427
443
|
}
|
|
444
|
+
/**
|
|
445
|
+
* 3b. THE EXPIRY BOUND, ENFORCED WHERE OTTO IS ACTUALLY IN THE PATH.
|
|
446
|
+
*
|
|
447
|
+
* 🔴 The mint is browser→Coinbase direct: `createDelegation({ expiresAt })` runs in the user's own
|
|
448
|
+
* session and Otto's server is not a hop on it. So the 90/180-day bound the page applies is UX — a
|
|
449
|
+
* modified client, a hostile clock, or the agent CLI can mint any expiry Coinbase itself accepts, and
|
|
450
|
+
* Coinbase accepts far more than 180 days (a year-2099 expiry was accepted in the gate probe). The
|
|
451
|
+
* bound is therefore enforceable at exactly one place: HERE, at use, on a grant Otto reads back from
|
|
452
|
+
* CDP before it exercises any authority.
|
|
453
|
+
*
|
|
454
|
+
* The check is on REMAINING validity, not on the grant's total length: what bounds the exposure is how
|
|
455
|
+
* much longer this key can sign, and a grant minted long ago is already spending down its own window.
|
|
456
|
+
* The skew allowance covers clock drift between Coinbase's issuer and this process only — it is small
|
|
457
|
+
* on purpose, because it is added to the ceiling.
|
|
458
|
+
*/
|
|
459
|
+
/**
|
|
460
|
+
* 🔴 GATE r2 LOW 1 — the CAPTURED clock, not `Date.now()`.
|
|
461
|
+
*
|
|
462
|
+
* Every other time-dependent step in this call reads `nowMs`, taken once from `runtime.nowMs()` at
|
|
463
|
+
* entry. This check read the wall clock directly, so under an injected clock it measured a different
|
|
464
|
+
* "now" than the submission it belongs to: codex's probe drove a 197-day grant past the bound and
|
|
465
|
+
* landed on `DELEGATION_USER_UNKNOWN` (step 4) instead of being refused here. One call, one clock.
|
|
466
|
+
*/
|
|
467
|
+
const remainingMs = expiresAtMs - nowMs;
|
|
468
|
+
if (remainingMs > DELEGATION_MAX_REMAINING_MS) {
|
|
469
|
+
return refuse('DELEGATION_EXPIRY_EXCEEDS_BOUND', `the delegation still has ${Math.floor(remainingMs / 86_400_000)} days to run, past the ${MODEL_B_DELEGATION_EXPIRY_MAX_DAYS}-day maximum; revoke it and mint a new one`);
|
|
470
|
+
}
|
|
428
471
|
// 4. ACCOUNT: the caller's prepared address must be one of THIS end user's accounts as CDP reports them.
|
|
429
472
|
const record = await services.rig.readEndUser(input.userId);
|
|
430
473
|
if (!record)
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export declare const EXECUTION_REFUSAL_CODES: readonly ["ATTRIBUTION_MISSING", "LIFI_FEE_CAP_EXCEEDED", "ACCOUNT_BINDING_MISMATCH", "DIGEST_MISMATCH", "ARTIFACT_INVALID", "STALE_ARTIFACT", "EXECUTION_RATE_LIMITED", "EXECUTION_CONCURRENCY_FULL", "UNSUPPORTED_ACCOUNT_PROFILE", "LIFI_QUOTE_FAILED", "LIFI_QUOTE_INVALID", "UNSUPPORTED_LIFI_ROUTE", "POLYMARKET_METADATA_FAILED", "POLYMARKET_METADATA_INVALID", "UNSUPPORTED_POLYMARKET_MARKET", "POLYMARKET_ORDER_INVALID", "POLYMARKET_BUILDER_FEE_UNRULED", "HYPERLIQUID_META_FAILED", "HYPERLIQUID_META_INVALID", "UNSUPPORTED_HYPERLIQUID_MARKET", "HYPERLIQUID_ORDER_INVALID", "DELEGATION_UNAVAILABLE", "DELEGATION_UNAUTHORIZED", "DELEGATION_INPUT_INVALID", "DELEGATION_BUSY", "DELEGATION_ARTIFACT_IN_FLIGHT", "ARTIFACT_NOT_PREPARED_HERE", "PREPARED_ARTIFACT_CAPACITY", "ARTIFACT_ID_COLLISION", "DELEGATION_REPLAY_MISMATCH", "DELEGATION_FENCE_ABSENT", "DELEGATION_FENCE_FOREIGN", "DELEGATION_FENCE_AMBIGUOUS", "DELEGATION_FENCE_NEWER", "DELEGATION_TOKEN_INVALID", "DELEGATION_REVOKE_NOT_CONFIRMED", "DELEGATION_NOT_ACTIVE", "DELEGATION_USER_UNKNOWN", "DELEGATION_OUTSIDE_FENCE", "DELEGATED_PLAN_REFUSED", "DELEGATED_PLAN_HALTED", "DELEGATION_UPSTREAM_FAILED"];
|
|
1
|
+
export declare const EXECUTION_REFUSAL_CODES: readonly ["ATTRIBUTION_MISSING", "LIFI_FEE_CAP_EXCEEDED", "ACCOUNT_BINDING_MISMATCH", "DIGEST_MISMATCH", "ARTIFACT_INVALID", "STALE_ARTIFACT", "EXECUTION_RATE_LIMITED", "EXECUTION_CONCURRENCY_FULL", "UNSUPPORTED_ACCOUNT_PROFILE", "LIFI_QUOTE_FAILED", "LIFI_QUOTE_INVALID", "UNSUPPORTED_LIFI_ROUTE", "POLYMARKET_METADATA_FAILED", "POLYMARKET_METADATA_INVALID", "UNSUPPORTED_POLYMARKET_MARKET", "POLYMARKET_ORDER_INVALID", "POLYMARKET_BUILDER_FEE_UNRULED", "HYPERLIQUID_META_FAILED", "HYPERLIQUID_META_INVALID", "UNSUPPORTED_HYPERLIQUID_MARKET", "HYPERLIQUID_ORDER_INVALID", "DELEGATION_UNAVAILABLE", "DELEGATION_UNAUTHORIZED", "DELEGATION_INPUT_INVALID", "DELEGATION_BUSY", "DELEGATION_ARTIFACT_IN_FLIGHT", "ARTIFACT_NOT_PREPARED_HERE", "PREPARED_ARTIFACT_CAPACITY", "ARTIFACT_ID_COLLISION", "DELEGATION_REPLAY_MISMATCH", "DELEGATION_FENCE_ABSENT", "DELEGATION_FENCE_FOREIGN", "DELEGATION_FENCE_AMBIGUOUS", "DELEGATION_FENCE_NEWER", "DELEGATION_TOKEN_INVALID", "DELEGATION_REVOKE_NOT_CONFIRMED", "DELEGATION_NOT_ACTIVE", "DELEGATION_EXPIRY_EXCEEDS_BOUND", "DELEGATION_USER_UNKNOWN", "DELEGATION_OUTSIDE_FENCE", "DELEGATED_PLAN_REFUSED", "DELEGATED_PLAN_HALTED", "DELEGATION_UPSTREAM_FAILED"];
|
|
2
2
|
export type ExecutionRefusalCode = (typeof EXECUTION_REFUSAL_CODES)[number];
|
|
3
3
|
/** A fail-closed, machine-readable refusal. No upstream response bodies or secrets are retained. */
|
|
4
4
|
export declare class ExecutionRefusal extends Error {
|
package/dist/execution-errors.js
CHANGED
|
@@ -99,6 +99,12 @@ export const EXECUTION_REFUSAL_CODES = [
|
|
|
99
99
|
'DELEGATION_REVOKE_NOT_CONFIRMED',
|
|
100
100
|
/** No active delegation for the end user, or it expires before the envelope does, or revocation was requested here. */
|
|
101
101
|
'DELEGATION_NOT_ACTIVE',
|
|
102
|
+
/**
|
|
103
|
+
* The grant's REMAINING validity is longer than the ruled maximum. The mint happens browser→Coinbase with
|
|
104
|
+
* no Otto hop, so a modified client or a skewed clock can mint any expiry Coinbase accepts; the bound is
|
|
105
|
+
* therefore enforceable only here, at use.
|
|
106
|
+
*/
|
|
107
|
+
'DELEGATION_EXPIRY_EXCEEDS_BOUND',
|
|
102
108
|
/** CDP reports no end user with this id. */
|
|
103
109
|
'DELEGATION_USER_UNKNOWN',
|
|
104
110
|
/** A verified plan the fence would refuse anyway: input token not allow-listed, spender not the reviewed diamond, gross over the per-swap cap. */
|
|
@@ -86,10 +86,15 @@ export async function callDelegationAdminDefinition(runtime, run, rawInput, head
|
|
|
86
86
|
}
|
|
87
87
|
}
|
|
88
88
|
export function registerExecutionTools(server, runtime, admission) {
|
|
89
|
+
// The freshness window is stated in the description from the runtime's OWN config — never a literal:
|
|
90
|
+
// the 0.1.1 docs said "10 minutes" (the ceiling) while every hosted envelope carried 5 (the default),
|
|
91
|
+
// and a submit paced on the doc halts mid-plan with STALE_ARTIFACT.
|
|
92
|
+
const windowSeconds = Math.round(runtime.config.artifactTtlMs / 1000);
|
|
93
|
+
const freshness = ` Every envelope from this server is valid for ${windowSeconds} seconds from construction (valid_until); a stale envelope is refused by the verifier — request a fresh one.`;
|
|
89
94
|
for (const definition of EXECUTION_TOOL_DEFINITIONS) {
|
|
90
95
|
server.registerTool(definition.name, {
|
|
91
96
|
title: definition.title,
|
|
92
|
-
description: definition.description,
|
|
97
|
+
description: definition.description + freshness,
|
|
93
98
|
inputSchema: definition.inputSchema,
|
|
94
99
|
outputSchema: definition.outputSchema,
|
|
95
100
|
annotations: EXECUTION_TOOL_ANNOTATIONS,
|
package/dist/mcp-server.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
import { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';
|
|
2
|
-
import type
|
|
2
|
+
import { type IntelDataSource } from './data-source.js';
|
|
3
3
|
import type { ExecutionToolRuntime } from './execution-tools.js';
|
|
4
4
|
export declare function createIntelMcpServer(dataSource: IntelDataSource, executionRuntime?: ExecutionToolRuntime): McpServer;
|
package/dist/mcp-server.js
CHANGED
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
import { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';
|
|
2
|
+
import { PAYMENT_RECEIPT_META } from './data-source.js';
|
|
2
3
|
import { mapToolError } from './errors.js';
|
|
3
4
|
import { registerExecutionTools } from './execution-registration.js';
|
|
5
|
+
import { PACKAGE_VERSION } from './package-version.js';
|
|
4
6
|
import { TOOL_DEFINITIONS } from './tool-definitions.js';
|
|
5
7
|
const READ_ONLY_ANNOTATIONS = Object.freeze({
|
|
6
8
|
readOnlyHint: true,
|
|
@@ -14,6 +16,15 @@ function stringify(value) {
|
|
|
14
16
|
async function callDefinition(dataSource, definition, rawInput) {
|
|
15
17
|
const input = definition.inputSchema.parse(rawInput);
|
|
16
18
|
try {
|
|
19
|
+
if (dataSource.readPaid) {
|
|
20
|
+
const paid = await dataSource.readPaid(definition, input);
|
|
21
|
+
return {
|
|
22
|
+
content: [{ type: 'text', text: stringify(paid.value) }],
|
|
23
|
+
...(paid.receipt
|
|
24
|
+
? { _meta: { [PAYMENT_RECEIPT_META]: { header: paid.receipt.header, value: paid.receipt.value } } }
|
|
25
|
+
: {}),
|
|
26
|
+
};
|
|
27
|
+
}
|
|
17
28
|
const result = await dataSource.read(definition, input);
|
|
18
29
|
return {
|
|
19
30
|
content: [{ type: 'text', text: stringify(result) }],
|
|
@@ -27,7 +38,7 @@ export function createIntelMcpServer(dataSource, executionRuntime) {
|
|
|
27
38
|
const server = new McpServer({
|
|
28
39
|
name: 'otto-intel',
|
|
29
40
|
title: 'Otto Intel',
|
|
30
|
-
version:
|
|
41
|
+
version: PACKAGE_VERSION,
|
|
31
42
|
});
|
|
32
43
|
for (const definition of TOOL_DEFINITIONS) {
|
|
33
44
|
server.registerTool(definition.name, {
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* package-version.ts — the version the servers announce in `serverInfo`, read from package.json so it
|
|
3
|
+
* cannot drift from what npm shows (0.1.1 on npm announced `0.1.0` in `initialize`). `dist/` sits one
|
|
4
|
+
* level below the package root in both the monorepo and the published tarball.
|
|
5
|
+
*/
|
|
6
|
+
export declare const PACKAGE_VERSION: string;
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* package-version.ts — the version the servers announce in `serverInfo`, read from package.json so it
|
|
3
|
+
* cannot drift from what npm shows (0.1.1 on npm announced `0.1.0` in `initialize`). `dist/` sits one
|
|
4
|
+
* level below the package root in both the monorepo and the published tarball.
|
|
5
|
+
*/
|
|
6
|
+
import { readFileSync } from 'node:fs';
|
|
7
|
+
const pkg = JSON.parse(readFileSync(new URL('../package.json', import.meta.url), 'utf8'));
|
|
8
|
+
export const PACKAGE_VERSION = pkg.version;
|
|
9
|
+
//# sourceMappingURL=package-version.js.map
|
|
@@ -1,11 +1,18 @@
|
|
|
1
1
|
import type { SelectPaymentRequirements } from '@x402/axios';
|
|
2
2
|
import type { LocalX402Config } from './local-config.js';
|
|
3
|
-
import type { IntelDataSource } from './data-source.js';
|
|
3
|
+
import type { IntelDataSource, IntelPaidRead } from './data-source.js';
|
|
4
4
|
import type { IntelToolDefinition, ToolArguments } from './tool-definitions.js';
|
|
5
|
+
/** Header names the paid rail may use for the settlement receipt, in precedence order (same set as the hosted proxy). */
|
|
6
|
+
export declare const SETTLEMENT_RECEIPT_HEADERS: readonly ["payment-response", "x-payment-response"];
|
|
5
7
|
export declare function boundedPaymentSelector(maxPaymentAtomic: bigint): SelectPaymentRequirements;
|
|
6
8
|
export declare class X402ReadSource implements IntelDataSource {
|
|
7
9
|
private readonly config;
|
|
8
10
|
private readonly scheme;
|
|
9
11
|
constructor(config: LocalX402Config);
|
|
10
12
|
read(definition: IntelToolDefinition, input: ToolArguments): Promise<unknown>;
|
|
13
|
+
/**
|
|
14
|
+
* The read plus the rail's settlement receipt, taken from the response header the rail used
|
|
15
|
+
* (`payment-response`, or the v1 `x-payment-response`) — relayed verbatim, never re-encoded.
|
|
16
|
+
*/
|
|
17
|
+
readPaid(definition: IntelToolDefinition, input: ToolArguments): Promise<IntelPaidRead>;
|
|
11
18
|
}
|
package/dist/x402-read-source.js
CHANGED
|
@@ -6,6 +6,8 @@ import { createPublicClient, http } from 'viem';
|
|
|
6
6
|
import { base } from 'viem/chains';
|
|
7
7
|
import { privateKeyToAccount } from 'viem/accounts';
|
|
8
8
|
import { WarmReadUnavailableError, X402PaymentError } from './errors.js';
|
|
9
|
+
/** Header names the paid rail may use for the settlement receipt, in precedence order (same set as the hosted proxy). */
|
|
10
|
+
export const SETTLEMENT_RECEIPT_HEADERS = ['payment-response', 'x-payment-response'];
|
|
9
11
|
const BASE_NETWORK = 'eip155:8453';
|
|
10
12
|
const BASE_USDC = '0x833589fcd6edb6e08f4c7c32d4f71b54bda02913';
|
|
11
13
|
function amountOf(requirement) {
|
|
@@ -50,6 +52,13 @@ export class X402ReadSource {
|
|
|
50
52
|
this.scheme = new ExactEvmScheme(signer);
|
|
51
53
|
}
|
|
52
54
|
async read(definition, input) {
|
|
55
|
+
return (await this.readPaid(definition, input)).value;
|
|
56
|
+
}
|
|
57
|
+
/**
|
|
58
|
+
* The read plus the rail's settlement receipt, taken from the response header the rail used
|
|
59
|
+
* (`payment-response`, or the v1 `x-payment-response`) — relayed verbatim, never re-encoded.
|
|
60
|
+
*/
|
|
61
|
+
async readPaid(definition, input) {
|
|
53
62
|
const paymentClient = new x402Client(boundedPaymentSelector(definition.maxPaymentAtomic));
|
|
54
63
|
paymentClient.register('eip155:*', this.scheme);
|
|
55
64
|
const httpClient = wrapAxiosWithPayment(axios.create({
|
|
@@ -62,7 +71,16 @@ export class X402ReadSource {
|
|
|
62
71
|
const response = await httpClient.get(definition.publicPath, {
|
|
63
72
|
params: definition.toQuery(input),
|
|
64
73
|
});
|
|
65
|
-
|
|
74
|
+
const receiptHeader = SETTLEMENT_RECEIPT_HEADERS.find((name) => {
|
|
75
|
+
const value = response.headers[name];
|
|
76
|
+
return typeof value === 'string' && value.length > 0;
|
|
77
|
+
});
|
|
78
|
+
return {
|
|
79
|
+
value: response.data,
|
|
80
|
+
...(receiptHeader
|
|
81
|
+
? { receipt: { header: receiptHeader, value: response.headers[receiptHeader] } }
|
|
82
|
+
: {}),
|
|
83
|
+
};
|
|
66
84
|
}
|
|
67
85
|
catch (error) {
|
|
68
86
|
if (axios.isAxiosError(error) && error.response?.status === 503) {
|
package/package.json
CHANGED
|
@@ -1,8 +1,12 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "otto-intel-mcp",
|
|
3
|
-
"version": "0.1.
|
|
4
|
-
"description": "
|
|
3
|
+
"version": "0.1.2",
|
|
4
|
+
"description": "Otto AI market intelligence + execution constructors over MCP — hosted at mcp.ottoai.services (first call free, then pay per call in USDC via x402) or local via `npx otto-intel-mcp`. Library entries: otto-intel-mcp/execution, /adapter, /adapter-cdp.",
|
|
5
5
|
"type": "module",
|
|
6
|
+
"homepage": "https://docs.useotto.xyz/acp-swarm/otto-intel-mcp",
|
|
7
|
+
"bugs": {
|
|
8
|
+
"url": "https://docs.useotto.xyz/acp-swarm/otto-intel-mcp"
|
|
9
|
+
},
|
|
6
10
|
"bin": {
|
|
7
11
|
"otto-intel-mcp": "./dist/stdio-main.js"
|
|
8
12
|
},
|
|
@@ -61,7 +65,20 @@
|
|
|
61
65
|
"dist/execution-index.d.ts",
|
|
62
66
|
"dist/execution-intent.js",
|
|
63
67
|
"dist/execution-intent.d.ts",
|
|
64
|
-
"dist/adapter",
|
|
68
|
+
"dist/adapter/cdp-signer.js",
|
|
69
|
+
"dist/adapter/cdp-signer.d.ts",
|
|
70
|
+
"dist/adapter/chain.js",
|
|
71
|
+
"dist/adapter/chain.d.ts",
|
|
72
|
+
"dist/adapter/erc20.js",
|
|
73
|
+
"dist/adapter/erc20.d.ts",
|
|
74
|
+
"dist/adapter/lifi-decode.js",
|
|
75
|
+
"dist/adapter/lifi-decode.d.ts",
|
|
76
|
+
"dist/adapter/refusal.js",
|
|
77
|
+
"dist/adapter/refusal.d.ts",
|
|
78
|
+
"dist/adapter/sent-step.js",
|
|
79
|
+
"dist/adapter/sent-step.d.ts",
|
|
80
|
+
"dist/adapter/verify.js",
|
|
81
|
+
"dist/adapter/verify.d.ts",
|
|
65
82
|
"dist/adapter-index.js",
|
|
66
83
|
"dist/adapter-index.d.ts",
|
|
67
84
|
"dist/adapter-cdp-index.js",
|
|
@@ -79,7 +96,9 @@
|
|
|
79
96
|
"dist/execution-delegation-admin-definition.js",
|
|
80
97
|
"dist/execution-delegation-admin-definition.d.ts",
|
|
81
98
|
"dist/boot-redaction.js",
|
|
82
|
-
"dist/boot-redaction.d.ts"
|
|
99
|
+
"dist/boot-redaction.d.ts",
|
|
100
|
+
"dist/package-version.js",
|
|
101
|
+
"dist/package-version.d.ts"
|
|
83
102
|
],
|
|
84
103
|
"scripts": {
|
|
85
104
|
"build": "tsc -p tsconfig.build.json",
|
|
@@ -92,21 +111,39 @@
|
|
|
92
111
|
"test": "node --import tsx --test \"test/**/*.test.ts\"",
|
|
93
112
|
"test:liveness": "node --import tsx --test --test-name-pattern=liveness test/execution-tools.test.ts test/execution-bridge.test.ts test/execution-polymarket.test.ts test/execution-hyperliquid.test.ts",
|
|
94
113
|
"test:mutation": "node --import tsx test/lifi-fee-mutation-proof.ts && node --import tsx test/lifi-bridge-mutation-proof.ts && node --import tsx test/polymarket-order-mutation-proof.ts && node --import tsx test/hyperliquid-order-mutation-proof.ts",
|
|
95
|
-
"verify": "npm run typecheck && npm
|
|
96
|
-
"prepublishOnly": "npm run verify"
|
|
114
|
+
"verify": "npm run typecheck && npm run build && npm test",
|
|
115
|
+
"prepublishOnly": "npm run verify && npm run pack:audit",
|
|
116
|
+
"pack:audit": "node scripts/pack-audit.mjs"
|
|
97
117
|
},
|
|
98
118
|
"engines": {
|
|
99
|
-
"node": "
|
|
119
|
+
"node": ">=22",
|
|
100
120
|
"npm": ">=10.0.0"
|
|
101
121
|
},
|
|
122
|
+
"devEngines": {
|
|
123
|
+
"runtime": {
|
|
124
|
+
"name": "node",
|
|
125
|
+
"version": "22.16.0",
|
|
126
|
+
"onFail": "warn"
|
|
127
|
+
}
|
|
128
|
+
},
|
|
102
129
|
"keywords": [
|
|
103
130
|
"mcp",
|
|
131
|
+
"model-context-protocol",
|
|
104
132
|
"x402",
|
|
133
|
+
"usdc",
|
|
134
|
+
"base",
|
|
105
135
|
"market-intelligence",
|
|
106
|
-
"
|
|
107
|
-
"sec-edgar"
|
|
136
|
+
"tokenized-stocks",
|
|
137
|
+
"sec-edgar",
|
|
138
|
+
"polymarket",
|
|
139
|
+
"hyperliquid",
|
|
140
|
+
"lifi",
|
|
141
|
+
"swap",
|
|
142
|
+
"bridge",
|
|
143
|
+
"agent",
|
|
144
|
+
"otto"
|
|
108
145
|
],
|
|
109
|
-
"author": "
|
|
146
|
+
"author": "Otto AI",
|
|
110
147
|
"license": "MIT",
|
|
111
148
|
"publishConfig": {
|
|
112
149
|
"access": "public"
|
|
@@ -158,5 +195,5 @@
|
|
|
158
195
|
"optionalDependencies": {
|
|
159
196
|
"@coinbase/cdp-sdk": "1.54.0"
|
|
160
197
|
},
|
|
161
|
-
"publishGate": "
|
|
198
|
+
"publishGate": "0.1.0 published 2026-09-01; 0.1.1 = the privacy + readability pass. `prepublishOnly` = verify + scripts/pack-audit.mjs (packs the tarball and fails on any personal or secret content; never publish with --ignore-scripts). No source maps ship. Dependency note: @x402/axios + @x402/evm pinned 2.23.0 so the optional @coinbase/cdp-sdk peers resolve to one @x402/core without the root-only `overrides` (kept in lockstep for the Railway install). @x402/core >= 2.23.0 enables client spendControls by default ($1 per payment) — raise it before any tool price exceeds $1."
|
|
162
199
|
}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"cdp-signer.js","sourceRoot":"","sources":["../../src/adapter/cdp-signer.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"chain.js","sourceRoot":"","sources":["../../src/adapter/chain.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAaH,4HAA4H;AAC5H,MAAM,OAAO,yBAA0B,SAAQ,KAAK;IAC7B;IAAoB;IAAzC,YAAqB,IAAS,EAAW,KAAa;QACpD,KAAK,CAAC,eAAe,IAAI,qDAAqD,KAAK,uCAAuC,CAAC,CAAC;QADzG,SAAI,GAAJ,IAAI,CAAK;QAAW,UAAK,GAAL,KAAK,CAAQ;QAEpD,IAAI,CAAC,IAAI,GAAG,2BAA2B,CAAC;IAC1C,CAAC;CACF;AAED,4HAA4H;AAC5H,SAAS,iBAAiB,CAAC,KAAc;IACvC,OAAQ,KAAmC,EAAE,IAAI,KAAK,iCAAiC,CAAC;AAC1F,CAAC;AAED;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,UAAU,oBAAoB,CAAC,GAAiB,EAAE,IAAS,EAAE,UAA6B,EAAE;IACtG,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,IAAI,GAAG,CAAC;IACrC,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,IAAI,GAAG,CAAC;IACzC,KAAK,IAAI,IAAI,GAAG,CAAC,GAAI,IAAI,EAAE,EAAE,CAAC;QAC5B,IAAI,OAAuC,CAAC;QAC5C,IAAI,CAAC;YACH,OAAO,GAAG,MAAM,GAAG,CAAC,qBAAqB,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC;QACtD,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC;gBAAE,MAAM,KAAK,CAAC;QAC7C,CAAC;QACD,IAAI,OAAO,EAAE,CAAC;YACZ,0GAA0G;YAC1G,MAAM,IAAI,GAAG,MAAM,GAAG,CAAC,cAAc,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,CAAC,CAAC;YACxD,IAAI,IAAI,IAAI,OAAO,CAAC,WAAW,EAAE,CAAC;gBAChC,MAAM,MAAM,GAAG,MAAM,GAAG,CAAC,QAAQ,CAAC,EAAE,WAAW,EAAE,OAAO,CAAC,WAAW,EAAE,CAAC,CAAC;gBACxE,IAAI,MAAM,CAAC,IAAI,KAAK,OAAO,CAAC,SAAS;oBAAE,OAAO,OAAO,CAAC;gBACtD,gGAAgG;gBAChG,2FAA2F;YAC7F,CAAC;QACH,CAAC;QACD,IAAI,IAAI,GAAG,CAAC,IAAI,QAAQ;YAAE,MAAM,IAAI,yBAAyB,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;QAC9E,MAAM,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC;IAC9D,CAAC;AACH,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"erc20.js","sourceRoot":"","sources":["../../src/adapter/erc20.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,QAAQ,EAAmC,MAAM,MAAM,CAAC;AAEjE,MAAM,CAAC,MAAM,iBAAiB,GAAG,QAAQ,CAAC,CAAC,kEAAkE,CAAC,CAAC,CAAC;AAChH,MAAM,CAAC,MAAM,mBAAmB,GAAG,QAAQ,CAAC,CAAC,2EAA2E,CAAC,CAAC,CAAC;AAE3H,oGAAoG;AACpG,MAAM,CAAC,KAAK,UAAU,aAAa,CAAC,GAAiB,EAAE,KAAc,EAAE,KAAc,EAAE,OAAgB;IACrG,MAAM,KAAK,GAAG,MAAM,GAAG,CAAC,YAAY,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,GAAG,EAAE,mBAAmB,EAAE,YAAY,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC,KAAK,EAAE,OAAO,CAAC,EAAE,CAAC,CAAC;IACtI,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,MAAM,IAAI,KAAK,CAAC,8CAA8C,CAAC,CAAC;IAC/F,OAAO,KAAK,CAAC;AACf,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"lifi-decode.js","sourceRoot":"","sources":["../../src/adapter/lifi-decode.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"refusal.js","sourceRoot":"","sources":["../../src/adapter/refusal.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,MAAM,CAAC,MAAM,qBAAqB,GAAG;IACnC,4EAA4E;IAC5E,gBAAgB;IAChB,uBAAuB;IACvB,iBAAiB;IACjB,gBAAgB;IAChB,0BAA0B;IAC1B,6BAA6B;IAC7B,oBAAoB;IACpB,gBAAgB;IAChB,uEAAuE;IACvE,oBAAoB;IACpB,kBAAkB;IAClB,oBAAoB;IACpB,uBAAuB;IACvB,mBAAmB;IACnB,qEAAqE;IACrE,iBAAiB;IACjB,oBAAoB;IACpB,+EAA+E;IAC/E,qBAAqB;IACrB,sBAAsB;IACtB,kBAAkB;CACV,CAAC;AAIX,MAAM,OAAO,cAAe,SAAQ,KAAK;IAK5B;IAJX,sFAAsF;IAC7E,SAAS,CAAqB;IAEvC,YACW,IAAwB,EACjC,OAAe;QAEf,KAAK,CAAC,IAAI,IAAI,KAAK,OAAO,EAAE,CAAC,CAAC;QAHrB,SAAI,GAAJ,IAAI,CAAoB;QAIjC,IAAI,CAAC,IAAI,GAAG,gBAAgB,CAAC;QAC7B,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;IACxB,CAAC;CACF;AAED,MAAM,UAAU,MAAM,CAAC,IAAwB,EAAE,OAAe;IAC9D,MAAM,IAAI,cAAc,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;AAC1C,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,KAAc;IAC7C,OAAO,KAAK,YAAY,cAAc,CAAC;AACzC,CAAC;AAED,MAAM,UAAU,oBAAoB,CAAC,KAAa;IAChD,OAAQ,qBAA2C,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;AACtE,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"sent-step.js","sourceRoot":"","sources":["../../src/adapter/sent-step.ts"],"names":[],"mappings":"AAAA;;;GAGG"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"verify.js","sourceRoot":"","sources":["../../src/adapter/verify.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AAEH,OAAO,EAAE,kBAAkB,EAAE,UAAU,EAAE,QAAQ,EAA0B,MAAM,MAAM,CAAC;AACxF,OAAO,EACL,mCAAmC,EACnC,oBAAoB,EACpB,+BAA+B,EAC/B,mCAAmC,EACnC,+BAA+B,EAC/B,yBAAyB,EACzB,gBAAgB,EAChB,oBAAoB,EACpB,eAAe,EACf,4BAA4B,EAC5B,mBAAmB,EACnB,2BAA2B,EAC3B,yBAAyB,EACzB,qBAAqB,EACrB,eAAe,GAGhB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EACL,2BAA2B,EAC3B,sBAAsB,EACtB,iBAAiB,GAElB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,oBAAoB,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAqF5D,MAAM,iBAAiB,GAAG,QAAQ,CAAC;IACjC,kEAAkE;CACnE,CAAC,CAAC;AAEH,SAAS,SAAS,CAAC,IAAY;IAC7B,gFAAgF;IAChF,MAAM,KAAK,GAAG,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC1C,IAAI,CAAC,KAAK;QAAE,MAAM,IAAI,KAAK,CAAC,0BAA0B,IAAI,8BAA8B,CAAC,CAAC;IAC1F,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC,CAAE,CAAC,MAAM,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;AAC1C,CAAC;AAED,uEAAuE;AACvE,MAAM,UAAU,oBAAoB,CAAC,OAAe;IAClD,MAAM,UAAU,GAAG,yBAAyB,CAAC,OAAO,CAAC,CAAC;IACtD,IAAI,CAAC,UAAU,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC;QAAE,MAAM,IAAI,KAAK,CAAC,SAAS,OAAO,qCAAqC,CAAC,CAAC;IACnH,OAAO,MAAM,CAAC,MAAM,CAAC;QACnB,kBAAkB,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,oBAAoB,CAAC,CAAC;QACzD,sBAAsB,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,oBAAoB,CAAC,CAAC;QAC7D,WAAW,EAAE,MAAM,CAAC,MAAM,CAAC;YACzB,aAAa,EAAE,+BAA+B;YAC9C,MAAM,EAAE,MAAM,CAAC,oBAAoB,CAAC;YACpC,UAAU,EAAE,eAAe;YAC3B,aAAa,EAAE,+BAA+B;YAC9C,sBAAsB,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,mCAAmC,CAAC,CAAC;YAC5E,UAAU;YACV,eAAe,EAAE,SAAS,CAAC,mCAAmC,CAAC;SAChE,CAAC;KACH,CAAC,CAAC;AACL,CAAC;AAED,uFAAuF;AACvF,SAAS,SAAS,CAAI,EAAW;IAC/B,IAAI,CAAC;QACH,OAAO,EAAE,EAAE,CAAC;IACd,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,KAAK,YAAY,gBAAgB,IAAI,oBAAoB,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;YAC1E,MAAM,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;QACpC,CAAC;QACD,MAAM,KAAK,CAAC;IACd,CAAC;AACH,CAAC;AAED,SAAS,eAAe,CAAC,IAAwB,EAAE,SAAkB;IACnE,MAAM,MAAM,GAAG,UAAU,CAAC,SAAS,CAAC,CAAC;IACrC,OAAO,IAAI,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,UAAU,CAAC,KAAK,CAAC,KAAK,MAAM,CAAC,CAAC;AAC5D,CAAC;AAED,MAAM,UAAU,kBAAkB,CAAC,GAAY,EAAE,QAA4B;IAC3E,MAAM,MAAM,GAAoB,EAAE,CAAC;IACnC,MAAM,IAAI,GAAG,CAAC,EAAU,EAAQ,EAAE;QAChC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC;IACvD,CAAC,CAAC;IACF,MAAM,OAAO,GAAG,UAAU,CAAC,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;IACrD,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC;IAC/B,MAAM,MAAM,GAAe,MAAM,CAAC,MAAM,CAAC;QACvC,SAAS,EAAE,UAAU,CAAC,QAAQ,CAAC,MAAM,CAAC,SAAS,CAAC;QAChD,OAAO,EAAE,UAAU,CAAC,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC;QAC5C,UAAU,EAAE,QAAQ,CAAC,MAAM,CAAC,UAAU;QACtC,YAAY,EAAE,QAAQ,CAAC,MAAM,CAAC,YAAY;KAC3C,CAAC,CAAC;IACH,IAAI,MAAM,CAAC,UAAU,IAAI,EAAE;QAAE,MAAM,CAAC,iBAAiB,EAAE,sCAAsC,CAAC,CAAC;IAC/F,IAAI,MAAM,CAAC,YAAY,IAAI,EAAE,EAAE,CAAC;QAC9B,MAAM,CAAC,oBAAoB,EAAE,4FAA4F,CAAC,CAAC;IAC7H,CAAC;IACD,IAAI,MAAM,CAAC,SAAS,KAAK,MAAM,CAAC,OAAO;QAAE,MAAM,CAAC,iBAAiB,EAAE,6CAA6C,CAAC,CAAC;IAElH,sEAAsE;IACtE,MAAM,MAAM,GAAG,yBAAyB,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;IACxD,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;QACpB,MAAM,CAAC,gBAAgB,EAAE,4DAA4D,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,OAAO,IAAI,eAAe,EAAE,CAAC,CAAC;IAC7I,CAAC;IACD,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,KAAK,MAAM,IAAI,MAAM,CAAC,IAAI,CAAC,SAAS,KAAK,MAAM,EAAE,CAAC;QACpE,MAAM,CAAC,uBAAuB,EAAE,oDAAoD,MAAM,CAAC,IAAI,CAAC,IAAI,IAAI,MAAM,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC;IACnI,CAAC;IACD,uGAAuG;IACvG,MAAM,QAAQ,GAAG,eAAe,CAAC,MAAM,CAAC,IAAI,CAAsB,CAAC;IACnE,IAAI,CAAC,QAAQ,CAAC,CAAC;IACf,IAAI,QAAQ,CAAC,YAAY,KAAK,SAAS,EAAE,CAAC;QACxC,IAAI,UAAmC,CAAC;QACxC,IAAI,CAAC;YACH,UAAU,GAAG,qBAAqB,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC;QAC5D,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,CAAC,iBAAiB,EAAE,0DAA0D,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QAC9J,CAAC;QACD,MAAM,cAAc,GAAG,eAAe,CAAC,UAAU,CAAC,CAAC;QACnD,IAAI,QAAQ,CAAC,aAAa,KAAK,cAAc,EAAE,CAAC;YAC9C,MAAM,CAAC,iBAAiB,EAAE,mEAAmE,CAAC,CAAC;QACjG,CAAC;QACD,IAAI,CAAC,eAAe,CAAC,CAAC;IACxB,CAAC;IAED,iGAAiG;IACjG,SAAS,CAAC,GAAG,EAAE,CAAC,2BAA2B,CAAC,QAAQ,CAAC,CAAC,CAAC;IACvD,IAAI,CAAC,gBAAgB,CAAC,CAAC;IACvB,SAAS,CAAC,GAAG,EAAE,CAAC,mBAAmB,CAAC,QAAQ,EAAE,QAAQ,CAAC,KAAK,IAAI,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;IAC7E,IAAI,CAAC,YAAY,CAAC,CAAC;IACnB,IAAI,CAAC,WAAW,CAAC,CAAC;IAElB,uFAAuF;IACvF,SAAS,CAAC,GAAG,EAAE,CAAC,4BAA4B,CAAC,QAAQ,EAAE,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC;IAC1E,MAAM,KAAK,GAAG,QAAQ,CAAC,eAAe,CAAC,cAAc,CAAC,IAAI,CAAC;IAC3D,IAAI,UAAU,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,OAAO,IAAI,UAAU,CAAC,KAAK,CAAC,QAAQ,CAAC,KAAK,OAAO,EAAE,CAAC;QACnF,MAAM,CAAC,0BAA0B,EAAE,sDAAsD,CAAC,CAAC;IAC7F,CAAC;IACD,IAAI,CAAC,iBAAiB,CAAC,CAAC;IAExB,iFAAiF;IACjF,MAAM,OAAO,GAAG,QAAQ,CAAC,qBAAqB,CAAC,MAAM,CACnD,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC,QAAQ,CAAC,YAAY,CAAC,QAAQ,CAAC,UAA+B,CAAC,CACjF,CAAC;IACF,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACvB,MAAM,CAAC,oBAAoB,EAAE,qBAAqB,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,0BAA0B,QAAQ,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACpI,CAAC;IACD,IAAI,CAAC,cAAc,CAAC,CAAC;IAErB,mDAAmD;IACnD,IACE,QAAQ,CAAC,OAAO,CAAC,QAAQ,KAAK,QAAQ,CAAC,OAAO,CAAC,OAAO;QACtD,QAAQ,CAAC,UAAU,CAAC,QAAQ,KAAK,QAAQ,CAAC,OAAO,CAAC,OAAO,EACzD,CAAC;QACD,MAAM,CAAC,gBAAgB,EAAE,yDAAyD,CAAC,CAAC;IACtF,CAAC;IACD,IAAI,CAAC,OAAO,CAAC,CAAC;IAEd,kGAAkG;IAClG,6FAA6F;IAC7F,MAAM,QAAQ,GAAG,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC;IACxC,IACE,QAAQ,CAAC,MAAM,KAAK,CAAC;QACrB,QAAQ,CAAC,CAAC,CAAC,EAAE,IAAI,KAAK,eAAe;QACrC,QAAQ,CAAC,CAAC,CAAC,EAAE,IAAI,KAAK,SAAS;QAC/B,QAAQ,CAAC,CAAC,CAAC,EAAE,IAAI,KAAK,MAAM,EAC5B,CAAC;QACD,MAAM,CAAC,oBAAoB,EAAE,wDAAwD,CAAC,CAAC;IACzF,CAAC;IACD,MAAM,KAAK,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;QAClC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,EAAE,CAAC;YAC3D,MAAM,CAAC,oBAAoB,EAAE,QAAQ,IAAI,CAAC,IAAI,sCAAsC,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC;QACpG,CAAC;QACD,OAAO,MAAM,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,EAAE,EAAE,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,IAAW,EAAE,CAAC,CAAC;IACxG,CAAC,CAAmE,CAAC;IACrE,MAAM,CAAC,KAAK,EAAE,OAAO,EAAE,IAAI,CAAC,GAAG,KAAK,CAAC;IACrC,IAAI,CAAC,YAAY,CAAC,CAAC;IAEnB,+FAA+F;IAC/F,+EAA+E;IAC/E,MAAM,KAAK,GAAG,KAAK,CAAC,EAAE,CAAC;IACvB,IAAI,KAAK,KAAK,MAAM,CAAC,SAAS;QAAE,MAAM,CAAC,iBAAiB,EAAE,iBAAiB,KAAK,2BAA2B,MAAM,CAAC,SAAS,EAAE,CAAC,CAAC;IAC/H,IAAI,OAAO,CAAC,EAAE,KAAK,KAAK;QAAE,MAAM,CAAC,kBAAkB,EAAE,mDAAmD,CAAC,CAAC;IAC1G,MAAM,aAAa,GAAG,CAAC,IAAS,EAAwC,EAAE;QACxE,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,kBAAkB,CAAC,EAAE,GAAG,EAAE,iBAAiB,EAAE,IAAI,EAAE,CAAC,CAAC;YACrE,OAAO,EAAE,OAAO,EAAE,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QAC3E,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,MAAM,CAAC,kBAAkB,EAAE,qDAAqD,CAAC,CAAC;QAC3F,CAAC;IACH,CAAC,CAAC;IACF,MAAM,YAAY,GAAG,aAAa,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAC/C,MAAM,cAAc,GAAG,aAAa,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IACnD,IAAI,YAAY,CAAC,MAAM,KAAK,EAAE;QAAE,MAAM,CAAC,kBAAkB,EAAE,iCAAiC,CAAC,CAAC;IAC9F,IAAI,cAAc,CAAC,MAAM,KAAK,MAAM,CAAC,UAAU,EAAE,CAAC;QAChD,MAAM,CAAC,iBAAiB,EAAE,iBAAiB,cAAc,CAAC,MAAM,sBAAsB,MAAM,CAAC,UAAU,EAAE,CAAC,CAAC;IAC7G,CAAC;IACD,IAAI,YAAY,CAAC,OAAO,KAAK,cAAc,CAAC,OAAO,EAAE,CAAC;QACpD,MAAM,CAAC,kBAAkB,EAAE,mDAAmD,CAAC,CAAC;IAClF,CAAC;IACD,MAAM,OAAO,GAAG,cAAc,CAAC,OAAO,CAAC;IACvC,IAAI,OAAO,KAAK,IAAI,CAAC,EAAE;QAAE,MAAM,CAAC,kBAAkB,EAAE,yCAAyC,CAAC,CAAC;IAC/F,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,sBAAsB,EAAE,OAAO,CAAC,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,kBAAkB,EAAE,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC;QACrH,MAAM,CAAC,oBAAoB,EAAE,GAAG,OAAO,mCAAmC,CAAC,CAAC;IAC9E,CAAC;IACD,MAAM,KAAK,GAAG,cAAc,CAAC,MAAM,CAAC;IACpC,IAAI,CAAC,WAAW,CAAC,CAAC;IAElB,8FAA8F;IAC9F,iGAAiG;IACjG,mCAAmC;IACnC,MAAM,IAAI,GAAG,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC1C,IAAI,IAAI,CAAC,UAAU,KAAK,MAAM,CAAC,WAAW,CAAC,UAAU,EAAE,CAAC;QACtD,MAAM,CAAC,qBAAqB,EAAE,uBAAuB,IAAI,CAAC,UAAU,gBAAgB,MAAM,CAAC,WAAW,CAAC,UAAU,GAAG,CAAC,CAAC;IACxH,CAAC;IACD,IAAI,IAAI,CAAC,QAAQ,KAAK,OAAO,EAAE,CAAC;QAC9B,MAAM,CAAC,mBAAmB,EAAE,6BAA6B,IAAI,CAAC,QAAQ,2BAA2B,CAAC,CAAC;IACrG,CAAC;IACD,IAAI,SAAS,GAAG,EAAE,CAAC;IACnB,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;QAC5B,IAAI,CAAC,GAAG,CAAC,eAAe;YAAE,SAAS;QACnC,IAAI,GAAG,CAAC,cAAc,KAAK,KAAK,EAAE,CAAC;YACjC,MAAM,CAAC,uBAAuB,EAAE,qBAAqB,GAAG,CAAC,cAAc,0BAA0B,KAAK,EAAE,CAAC,CAAC;QAC5G,CAAC;QACD,SAAS,IAAI,GAAG,CAAC,UAAU,CAAC;IAC9B,CAAC;IACD,IAAI,SAAS,KAAK,KAAK,EAAE,CAAC;QACxB,MAAM,CAAC,uBAAuB,EAAE,qBAAqB,SAAS,qDAAqD,KAAK,EAAE,CAAC,CAAC;IAC9H,CAAC;IACD,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAE,CAAC;IACjD,IAAI,OAAO,CAAC,gBAAgB,KAAK,MAAM,CAAC,OAAO,EAAE,CAAC;QAChD,MAAM,CAAC,iBAAiB,EAAE,iBAAiB,OAAO,CAAC,gBAAgB,4BAA4B,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC;IACnH,CAAC;IACD,IAAI,CAAC,aAAa,CAAC,CAAC;IAEpB,gGAAgG;IAChG,IAAI,IAAI,CAAC,SAAS,GAAG,MAAM,CAAC,YAAY,EAAE,CAAC;QACzC,MAAM,CAAC,oBAAoB,EAAE,uBAAuB,IAAI,CAAC,SAAS,gCAAgC,MAAM,CAAC,YAAY,EAAE,CAAC,CAAC;IAC3H,CAAC;IACD,IAAI,CAAC,YAAY,CAAC,CAAC;IAEnB,yGAAyG;IACzG,IACE,QAAQ,CAAC,eAAe,CAAC,SAAS,KAAK,qBAAqB;QAC5D,QAAQ,CAAC,eAAe,CAAC,cAAc,KAAK,MAAM,CAAC,WAAW,CAAC,aAAa,EAC5E,CAAC;QACD,MAAM,CAAC,sBAAsB,EAAE,sBAAsB,QAAQ,CAAC,eAAe,CAAC,SAAS,IAAI,QAAQ,CAAC,eAAe,CAAC,cAAc,kCAAkC,MAAM,CAAC,WAAW,CAAC,aAAa,EAAE,CAAC,CAAC;IAC1M,CAAC;IACD,MAAM,kBAAkB,GAAG,MAAM,CAAC,WAAW,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC;IAC3F,MAAM,UAAU,GAAG,CAAC,OAAgB,EAAW,EAAE,CAAC,kBAAkB,CAAC,QAAQ,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC;IACnG,MAAM,aAAa,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,CACpC,CAAC,GAAG,EAAE,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,WAAW,EAAE,KAAK,2BAA2B,CAC3G,CAAC;IACF,IAAI,aAAa,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC/B,MAAM,CAAC,qBAAqB,EAAE,kDAAkD,aAAa,CAAC,MAAM,EAAE,CAAC,CAAC;IAC1G,CAAC;IACD,MAAM,MAAM,GAAG,aAAa,CAAC,CAAC,CAAE,CAAC;IACjC,6EAA6E;IAC7E,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,MAAM,CAAC,MAAM,KAAK,MAAM,CAAC,SAAS,EAAE,CAAC;QACtG,MAAM,CACJ,qBAAqB,EACrB,iBAAiB,MAAM,CAAC,MAAM,eAAe,MAAM,CAAC,SAAS,wDAAwD,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CACtJ,CAAC;IACJ,CAAC;IACD,IAAI,MAAM,CAAC,cAAc,KAAK,KAAK,IAAI,MAAM,CAAC,gBAAgB,KAAK,KAAK,EAAE,CAAC;QACzE,MAAM,CAAC,sBAAsB,EAAE,6CAA6C,CAAC,CAAC;IAChF,CAAC;IACD,MAAM,IAAI,GAAG,sBAAsB,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;IACrD,IAAI,IAAI,CAAC,KAAK,KAAK,KAAK;QAAE,MAAM,CAAC,sBAAsB,EAAE,sCAAsC,CAAC,CAAC;IACjG,MAAM,eAAe,GAAG,CAAC,KAAK,GAAG,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,GAAG,MAAO,CAAC;IACtE,MAAM,aAAa,GAAG,UAAU,CAAC,MAAM,CAAC,WAAW,CAAC,aAAa,CAAC,CAAC;IACnE,MAAM,iBAAiB,GAAG,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,KAAK,aAAa,CAAC,CAAC;IAC1F,IAAI,iBAAiB,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACnC,MAAM,CAAC,qBAAqB,EAAE,iCAAiC,iBAAiB,CAAC,MAAM,+BAA+B,CAAC,CAAC;IAC1H,CAAC;IACD,MAAM,OAAO,GAAG,iBAAiB,CAAC,CAAC,CAAE,CAAC,MAAM,CAAC;IAC7C,IAAI,OAAO,KAAK,eAAe,EAAE,CAAC;QAChC,MAAM,CAAC,sBAAsB,EAAE,YAAY,OAAO,OAAO,eAAe,KAAK,MAAM,CAAC,WAAW,CAAC,MAAM,WAAW,KAAK,GAAG,CAAC,CAAC;IAC7H,CAAC;IACD,IAAI,KAAK,GAAG,EAAE,CAAC;IACf,KAAK,MAAM,YAAY,IAAI,IAAI,CAAC,aAAa,EAAE,CAAC;QAC9C,KAAK,IAAI,YAAY,CAAC,MAAM,CAAC;QAC7B,IACE,YAAY,CAAC,SAAS,KAAK,aAAa;YACxC,CAAC,eAAe,CAAC,MAAM,CAAC,WAAW,CAAC,sBAAsB,EAAE,YAAY,CAAC,SAAS,CAAC,EACnF,CAAC;YACD,MAAM,CAAC,sBAAsB,EAAE,uCAAuC,YAAY,CAAC,SAAS,EAAE,CAAC,CAAC;QAClG,CAAC;IACH,CAAC;IACD,IAAI,KAAK,GAAG,MAAO,GAAG,KAAK,GAAG,MAAM,CAAC,WAAW,CAAC,eAAe,EAAE,CAAC;QACjE,MAAM,CAAC,kBAAkB,EAAE,kBAAkB,KAAK,WAAW,MAAM,CAAC,WAAW,CAAC,eAAe,WAAW,KAAK,EAAE,CAAC,CAAC;IACrH,CAAC;IACD,IAAI,CAAC,iBAAiB,CAAC,CAAC;IAExB,gGAAgG;IAChG,mGAAmG;IACnG,oGAAoG;IACpG,iGAAiG;IACjG,OAAO,kBAAkB,CACvB;QACA,QAAQ;QACR,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,GAAG,IAAI,EAAE,CAAC,CAAC,CAAmE;QACvI,MAAM;QACN,KAAK;QACL,WAAW,EAAE,OAAO,CAAC,gBAAgB;QACrC,OAAO;QACP,KAAK;QACL,QAAQ,EAAE,IAAI,CAAC,QAAQ;QACvB,YAAY,EAAE,IAAI,CAAC,SAAS;QAC5B,OAAO;QACP,IAAI,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,aAAa,EAAE,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAChI,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,GAAG,KAAK,EAAE,CAAC,CAAC,CAAC;KACxE,EACD,OAAO,EACP,QAAQ,CAAC,OAAO,CAAC,OAAO,CACzB,CAAC;AACJ,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,cAAc,GAAG,IAAI,OAAO,EAAU,CAAC;AAC7C,MAAM,aAAa,GAAG,IAAI,OAAO,EAAwB,CAAC;AAa1D,8GAA8G;AAC9G,SAAS,UAAU,CAAI,KAAQ;IAC7B,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI;QAAE,OAAO,KAAK,CAAC;IAC9D,KAAK,MAAM,GAAG,IAAI,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QACzC,UAAU,CAAE,KAAsC,CAAC,GAAG,CAAC,CAAC,CAAC;IAC3D,CAAC;IACD,OAAO,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;AAC9B,CAAC;AAED,8DAA8D;AAC9D,MAAM,UAAU,YAAY,CAAC,KAAc;IACzC,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI;QAAE,OAAO,IAAI,CAAC;IAC7D,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC;IAC1C,OAAO,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,YAAY,CAAE,KAAsC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;AAC3G,CAAC;AAED,SAAS,kBAAkB,CAAC,IAAkB,EAAE,OAAgB,EAAE,OAAe;IAC/E,MAAM,MAAM,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC;IAChC,MAAM,QAAQ,GAAiB,MAAM,CAAC,MAAM,CAAC;QAC3C,OAAO,EAAE,OAAO;QAChB,OAAO;QACP,YAAY,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,MAAM,CAAC,QAAQ,CAAC,qBAAqB,CAAC,CAAiC;QACvG,YAAY,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,WAAW,CAAC;QACrD,UAAU,EAAE,MAAM,CAAC,QAAQ,CAAC,WAAW;QACvC,cAAc,EAAE,MAAM,CAAC,QAAQ,CAAC,UAAU,CAAC,eAAe;QAC1D,WAAW,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAyC;KACjI,CAAC,CAAC;IACH,cAAc,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IAC3B,aAAa,CAAC,GAAG,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;IACpC,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,+FAA+F;AAC/F,MAAM,UAAU,gBAAgB,CAAC,IAAa;IAC5C,OAAO,OAAO,IAAI,KAAK,QAAQ,IAAI,IAAI,KAAK,IAAI,IAAI,cAAc,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,aAAa,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;AAC1G,CAAC;AAED,uFAAuF;AACvF,MAAM,UAAU,oBAAoB,CAAC,IAAkB;IACrD,wBAAwB,CAAC,IAAI,CAAC,CAAC;IAC/B,OAAO,aAAa,CAAC,GAAG,CAAC,IAAI,CAAE,CAAC;AAClC,CAAC;AASD;;;;;;;GAOG;AACH,MAAM,UAAU,oBAAoB,CAAC,IAAkB,EAAE,MAAsB,EAAE,QAAgB,IAAI,CAAC,GAAG,EAAE;IACzG,MAAM,QAAQ,GAAG,oBAAoB,CAAC,IAAI,CAAC,CAAC;IAC5C,MAAM,aAAa,GAAG,UAAU,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IACjD,IAAI,QAAQ,CAAC,OAAO,KAAK,aAAa,EAAE,CAAC;QACvC,MAAM,IAAI,KAAK,CAAC,0CAA0C,QAAQ,CAAC,OAAO,oBAAoB,aAAa,EAAE,CAAC,CAAC;IACjH,CAAC;IACD,IAAI,QAAQ,CAAC,OAAO,KAAK,MAAM,CAAC,OAAO,EAAE,CAAC;QACxC,MAAM,IAAI,KAAK,CAAC,2CAA2C,QAAQ,CAAC,OAAO,uBAAuB,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC;IACtH,CAAC;IACD,MAAM,OAAO,GAAG,QAAQ,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;IACtF,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC;QAAE,MAAM,IAAI,KAAK,CAAC,uCAAuC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACrG,IAAI,CAAC,CAAC,QAAQ,CAAC,YAAY,GAAG,KAAK,CAAC,EAAE,CAAC;QACrC,MAAM,CAAC,gBAAgB,EAAE,iCAAiC,IAAI,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC,CAAC;IACzF,CAAC;IACD,SAAS,CAAC,GAAG,EAAE,CAAC,mBAAmB,CAAC,IAAI,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC,CAAC;AAC7D,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,wBAAwB,CAAC,IAAkB;IACzD,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,EAAE,CAAC;QAC5B,MAAM,IAAI,KAAK,CAAC,mGAAmG,CAAC,CAAC;IACvH,CAAC;IACD,MAAM,MAAM,GACV,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC;QACrB,YAAY,CAAC,IAAI,CAAC,QAAQ,CAAC;QAC3B,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC;QAC3B,IAAI,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC;QACvB,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,KAAK,KAAK,EAAE,IAAI,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC5G,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC;QAC5B,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC;QAC1B,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC;QACxC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC;QAC5B,IAAI,CAAC,MAAM,CAAC,MAAM,IAAI,gBAAgB,CAAC,MAAM;QAC7C,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,MAAM,KAAK,QAAQ,CAAC;QACvD,gBAAgB,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC;QAC5E,IAAI,CAAC,KAAK,CAAC,CAAC,CAAE,CAAC,EAAE,KAAK,IAAI,CAAC,OAAO;QAClC,IAAI,CAAC,KAAK,KAAK,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC;IACxC,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,MAAM,IAAI,KAAK,CAAC,kFAAkF,CAAC,CAAC;IACtG,CAAC;IACD,MAAM,QAAQ,GAAG,aAAa,CAAC,GAAG,CAAC,IAAI,CAAE,CAAC;IAC1C,MAAM,aAAa,GACjB,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC,OAAO,CAAC,KAAK,QAAQ,CAAC,OAAO;QACtE,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC,OAAO,KAAK,QAAQ,CAAC,OAAO;QAC1D,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,QAAQ,KAAK,QAAQ,CAAC,OAAO;QACnD,IAAI,CAAC,QAAQ,CAAC,WAAW,KAAK,QAAQ,CAAC,UAAU;QACjD,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,eAAe,KAAK,QAAQ,CAAC,cAAc;QACpE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,KAAK,QAAQ,CAAC,YAAY;QAC/D,IAAI,CAAC,QAAQ,CAAC,qBAAqB,CAAC,MAAM,KAAK,QAAQ,CAAC,YAAY,CAAC,MAAM;QAC3E,QAAQ,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAE,IAAI,CAAC,QAAQ,CAAC,qBAA2C,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;QAC1G,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE,KAAK,QAAQ,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC;IACrE,IAAI,CAAC,aAAa,EAAE,CAAC;QACnB,MAAM,IAAI,KAAK,CAAC,8EAA8E,CAAC,CAAC;IAClG,CAAC;AACH,CAAC;AAED,uGAAuG;AACvG,MAAM,CAAC,MAAM,gBAAgB,GAAG,MAAM,CAAC,MAAM,CAAC;IAC5C,QAAQ;IACR,gBAAgB;IAChB,YAAY;IACZ,WAAW;IACX,iBAAiB;IACjB,cAAc;IACd,OAAO;IACP,YAAY;IACZ,WAAW;IACX,aAAa;IACb,YAAY;IACZ,iBAAiB;CACT,CAAC,CAAC"}
|