suprafx-agent-sdk 0.3.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (42) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +452 -0
  3. package/dist/bin/suprafx-mcp.d.ts +15 -0
  4. package/dist/bin/suprafx-mcp.js +238 -0
  5. package/dist/bin/suprafx-mcp.js.map +1 -0
  6. package/dist/src/asset-registry.d.ts +61 -0
  7. package/dist/src/asset-registry.js +118 -0
  8. package/dist/src/asset-registry.js.map +1 -0
  9. package/dist/src/client.d.ts +227 -0
  10. package/dist/src/client.js +282 -0
  11. package/dist/src/client.js.map +1 -0
  12. package/dist/src/derive-ids.d.ts +112 -0
  13. package/dist/src/derive-ids.js +361 -0
  14. package/dist/src/derive-ids.js.map +1 -0
  15. package/dist/src/event-bcs.d.ts +341 -0
  16. package/dist/src/event-bcs.js +767 -0
  17. package/dist/src/event-bcs.js.map +1 -0
  18. package/dist/src/index.d.ts +26 -0
  19. package/dist/src/index.js +26 -0
  20. package/dist/src/index.js.map +1 -0
  21. package/dist/src/mcp/config.d.ts +32 -0
  22. package/dist/src/mcp/config.js +101 -0
  23. package/dist/src/mcp/config.js.map +1 -0
  24. package/dist/src/mcp/lifecycle.d.ts +109 -0
  25. package/dist/src/mcp/lifecycle.js +170 -0
  26. package/dist/src/mcp/lifecycle.js.map +1 -0
  27. package/dist/src/mcp/preflight.d.ts +36 -0
  28. package/dist/src/mcp/preflight.js +291 -0
  29. package/dist/src/mcp/preflight.js.map +1 -0
  30. package/dist/src/mcp/server.d.ts +20 -0
  31. package/dist/src/mcp/server.js +235 -0
  32. package/dist/src/mcp/server.js.map +1 -0
  33. package/dist/src/mcp/tools.d.ts +51 -0
  34. package/dist/src/mcp/tools.js +1022 -0
  35. package/dist/src/mcp/tools.js.map +1 -0
  36. package/dist/src/sign-event.d.ts +185 -0
  37. package/dist/src/sign-event.js +331 -0
  38. package/dist/src/sign-event.js.map +1 -0
  39. package/dist/src/signer.d.ts +89 -0
  40. package/dist/src/signer.js +226 -0
  41. package/dist/src/signer.js.map +1 -0
  42. package/package.json +65 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"event-bcs.js","sourceRoot":"","sources":["../../src/event-bcs.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,26 @@
1
+ /**
2
+ * suprafx-agent-sdk — public API surface.
3
+ *
4
+ * Two main entry points:
5
+ * - `SupraFxClient` for read endpoints + envelope POST plumbing
6
+ * - `DelegateSigner` for held-key signing + auto sequence management
7
+ *
8
+ * Plus convenience re-exports of the BCS encoders and derivation
9
+ * helpers so consumers can build custom envelopes if needed.
10
+ *
11
+ * See `docs/INTEGRATING-AGENTS.md` for the conceptual reference and
12
+ * `cookbook/` for runnable examples.
13
+ */
14
+ export { SupraFxClient, SupraFxError } from "./client.js";
15
+ export type { SupraFxClientOptions, ChainInfo, AssetInfo, PlatformBalance, DepositClaimSummary, DepositStatusLookup, DepositClaimList, OrderbookRfq, SubmitResult, OracleQuote, SupraFxErrorCode, SupraFxErrorAction, } from "./client.js";
16
+ export { withLifecycle, sameId, findRfq, findQuote, applyPollMs, DEFAULT_APPLY_POLL_MS, } from "./mcp/lifecycle.js";
17
+ export type { CommitState, CommitResult } from "./mcp/lifecycle.js";
18
+ export { runPreflight, ORACLE_STALE_MS } from "./mcp/preflight.js";
19
+ export type { PreflightResult, Check, CheckStatus } from "./mcp/preflight.js";
20
+ export { DelegateSigner } from "./signer.js";
21
+ export type { DelegateSignerOptions } from "./signer.js";
22
+ export { encodeUserEvent, MAX_CAP } from "./event-bcs.js";
23
+ export type { UserEvent, AssetCapEntry } from "./event-bcs.js";
24
+ export { composeSignBytes, encodeEnvelopeBcs } from "./sign-event.js";
25
+ export { canonicalChain, deriveAssetId, derivePairId, derivePairIdFromTokens, registeredAssetId, assetIdFromChainAndToken, } from "./derive-ids.js";
26
+ export { toMicroUnits, toRateBFT } from "./asset-registry.js";
@@ -0,0 +1,26 @@
1
+ /**
2
+ * suprafx-agent-sdk — public API surface.
3
+ *
4
+ * Two main entry points:
5
+ * - `SupraFxClient` for read endpoints + envelope POST plumbing
6
+ * - `DelegateSigner` for held-key signing + auto sequence management
7
+ *
8
+ * Plus convenience re-exports of the BCS encoders and derivation
9
+ * helpers so consumers can build custom envelopes if needed.
10
+ *
11
+ * See `docs/INTEGRATING-AGENTS.md` for the conceptual reference and
12
+ * `cookbook/` for runnable examples.
13
+ */
14
+ export { SupraFxClient, SupraFxError } from "./client.js";
15
+ // Commit lifecycle: `ok` is an ingress signal, `lifecycle` is the truth.
16
+ export { withLifecycle, sameId, findRfq, findQuote, applyPollMs, DEFAULT_APPLY_POLL_MS, } from "./mcp/lifecycle.js";
17
+ // Session preflight, reusable outside the MCP server.
18
+ export { runPreflight, ORACLE_STALE_MS } from "./mcp/preflight.js";
19
+ export { DelegateSigner } from "./signer.js";
20
+ // Re-export BCS + derivation utilities so power users can compose
21
+ // custom flows without re-vendoring the council libs.
22
+ export { encodeUserEvent, MAX_CAP } from "./event-bcs.js";
23
+ export { composeSignBytes, encodeEnvelopeBcs } from "./sign-event.js";
24
+ export { canonicalChain, deriveAssetId, derivePairId, derivePairIdFromTokens, registeredAssetId, assetIdFromChainAndToken, } from "./derive-ids.js";
25
+ export { toMicroUnits, toRateBFT } from "./asset-registry.js";
26
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAgB1D,yEAAyE;AACzE,OAAO,EACL,aAAa,EACb,MAAM,EACN,OAAO,EACP,SAAS,EACT,WAAW,EACX,qBAAqB,GACtB,MAAM,oBAAoB,CAAC;AAG5B,sDAAsD;AACtD,OAAO,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAGnE,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAG7C,kEAAkE;AAClE,sDAAsD;AACtD,OAAO,EAAE,eAAe,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAC;AAE1D,OAAO,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AACtE,OAAO,EACL,cAAc,EACd,aAAa,EACb,YAAY,EACZ,sBAAsB,EACtB,iBAAiB,EACjB,wBAAwB,GACzB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC"}
@@ -0,0 +1,32 @@
1
+ /**
2
+ * Config loader for the MCP server. Resolves the delegate key from
3
+ * (in priority order):
4
+ * 1. `SUPRAFX_DELEGATE_PRIV_HEX` env var
5
+ * 2. `~/.suprafx/config.json` file with `{ "delegatePrivKeyHex": "..." }`
6
+ * 3. (none) — read-only mode
7
+ *
8
+ * The private key is loaded into memory once at startup and never
9
+ * written back. It does NOT leave the host running `suprafx-mcp` —
10
+ * MCP transports are stdio (local subprocess) so the key stays
11
+ * with the agent operator's machine.
12
+ */
13
+ export interface ResolvedConfig {
14
+ baseUrl?: string;
15
+ delegatePrivKeyHex: string | null;
16
+ configPath: string | null;
17
+ /**
18
+ * The operator's MASTER StarKey address.
19
+ *
20
+ * Balances, locks and open orders all live on the master, not on the
21
+ * delegate — the delegate has no balances of its own. Without this the
22
+ * agent has to be hand-fed the address every session and loses it on
23
+ * any context reset. Persisted here so it survives a restart.
24
+ */
25
+ masterAddress: string | null;
26
+ }
27
+ /** `SUPRAFX_ALLOW_DANGEROUS=1` (or `--allow-dangerous`) drops the
28
+ * per-call acknowledgement requirement on money tools. */
29
+ export declare function resolveMode(argv?: string[]): "guarded" | "autonomous";
30
+ /** `--tools=read` / `SUPRAFX_TOOLS=read,cancel` — which classes to expose. */
31
+ export declare function resolveToolGroups(argv?: string[]): Set<string>;
32
+ export declare function loadConfig(): ResolvedConfig;
@@ -0,0 +1,101 @@
1
+ /**
2
+ * Config loader for the MCP server. Resolves the delegate key from
3
+ * (in priority order):
4
+ * 1. `SUPRAFX_DELEGATE_PRIV_HEX` env var
5
+ * 2. `~/.suprafx/config.json` file with `{ "delegatePrivKeyHex": "..." }`
6
+ * 3. (none) — read-only mode
7
+ *
8
+ * The private key is loaded into memory once at startup and never
9
+ * written back. It does NOT leave the host running `suprafx-mcp` —
10
+ * MCP transports are stdio (local subprocess) so the key stays
11
+ * with the agent operator's machine.
12
+ */
13
+ import { readFileSync, existsSync } from "node:fs";
14
+ import { homedir } from "node:os";
15
+ import { join } from "node:path";
16
+ /** `SUPRAFX_ALLOW_DANGEROUS=1` (or `--allow-dangerous`) drops the
17
+ * per-call acknowledgement requirement on money tools. */
18
+ export function resolveMode(argv = process.argv) {
19
+ if (argv.includes("--allow-dangerous"))
20
+ return "autonomous";
21
+ const v = (process.env.SUPRAFX_ALLOW_DANGEROUS ?? "").toLowerCase();
22
+ return v === "1" || v === "true" || v === "yes" ? "autonomous" : "guarded";
23
+ }
24
+ /** `--tools=read` / `SUPRAFX_TOOLS=read,cancel` — which classes to expose. */
25
+ export function resolveToolGroups(argv = process.argv) {
26
+ const flag = argv.find((a) => a.startsWith("--tools="))?.slice("--tools=".length);
27
+ const raw = flag ?? process.env.SUPRAFX_TOOLS ?? "";
28
+ const parts = raw
29
+ .split(",")
30
+ .map((s) => s.trim().toLowerCase())
31
+ .filter(Boolean);
32
+ // Default: everything the configured key entitles you to.
33
+ if (parts.length === 0)
34
+ return new Set(["read", "trade", "cancel"]);
35
+ const out = new Set(["read"]); // reads are never withheld
36
+ for (const p of parts) {
37
+ if (p === "all" || p === "write") {
38
+ out.add("trade");
39
+ out.add("cancel");
40
+ }
41
+ else if (p === "read" || p === "trade" || p === "cancel") {
42
+ out.add(p);
43
+ }
44
+ }
45
+ return out;
46
+ }
47
+ function normalizeAddress(a) {
48
+ if (!a)
49
+ return null;
50
+ const t = a.trim();
51
+ if (t.length === 0)
52
+ return null;
53
+ return t.startsWith("0x") ? t.toLowerCase() : "0x" + t.toLowerCase();
54
+ }
55
+ export function loadConfig() {
56
+ const envKey = process.env.SUPRAFX_DELEGATE_PRIV_HEX;
57
+ const baseUrl = process.env.SUPRAFX_BASE_URL && process.env.SUPRAFX_BASE_URL.length > 0
58
+ ? process.env.SUPRAFX_BASE_URL
59
+ : undefined;
60
+ const envMaster = normalizeAddress(process.env.SUPRAFX_MASTER_ADDRESS);
61
+ if (envKey && envKey.length > 0) {
62
+ return {
63
+ baseUrl,
64
+ delegatePrivKeyHex: envKey,
65
+ configPath: "env",
66
+ masterAddress: envMaster,
67
+ };
68
+ }
69
+ const cfgPath = join(homedir(), ".suprafx", "config.json");
70
+ if (existsSync(cfgPath)) {
71
+ try {
72
+ const raw = readFileSync(cfgPath, "utf-8");
73
+ const parsed = JSON.parse(raw);
74
+ const master = envMaster ?? normalizeAddress(parsed.masterAddress);
75
+ if (parsed.delegatePrivKeyHex && parsed.delegatePrivKeyHex.length > 0) {
76
+ return {
77
+ baseUrl: parsed.baseUrl ?? baseUrl,
78
+ delegatePrivKeyHex: parsed.delegatePrivKeyHex,
79
+ configPath: cfgPath,
80
+ masterAddress: master,
81
+ };
82
+ }
83
+ return {
84
+ baseUrl: parsed.baseUrl ?? baseUrl,
85
+ delegatePrivKeyHex: null,
86
+ configPath: cfgPath,
87
+ masterAddress: master,
88
+ };
89
+ }
90
+ catch (e) {
91
+ process.stderr.write(`[suprafx-mcp] warning: failed to parse ${cfgPath}: ${e instanceof Error ? e.message : String(e)}\n`);
92
+ }
93
+ }
94
+ return {
95
+ baseUrl,
96
+ delegatePrivKeyHex: null,
97
+ configPath: null,
98
+ masterAddress: envMaster,
99
+ };
100
+ }
101
+ //# sourceMappingURL=config.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../../../src/mcp/config.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,109 @@
1
+ /**
2
+ * Commit lifecycle for SupraFX writes.
3
+ *
4
+ * THE PROBLEM THIS SOLVES. Every write endpoint answers from the dApp
5
+ * *ingress*, not from chain state. `ok:true` means "the envelope was
6
+ * accepted into the mempool" — the validators can still reject it at
7
+ * apply time (inactive or unauthorized delegate, cap exhausted, wrong
8
+ * pair, replayed sequence number) and the venue will never tell you.
9
+ * An agent that trusts `ok` fires its next write against a position it
10
+ * does not have.
11
+ *
12
+ * So every write here reports a LIFECYCLE, not a boolean:
13
+ *
14
+ * submitted → the envelope was built and POSTed
15
+ * in_mempool → ingress accepted it (`ok:true`) — NOT yet committed
16
+ * applied → a state READ confirms it landed on chain
17
+ * rejected → ingress refused it outright (`ok:false`)
18
+ * unknown → ingress accepted it but the confirming read never
19
+ * showed it inside the poll window. NOT a failure and
20
+ * NOT a success — read state back before acting.
21
+ *
22
+ * `unknown` is deliberate. The honest answer to "did it land?" when the
23
+ * poll window expires is "I do not know yet", and an agent needs to be
24
+ * able to tell that apart from a clean rejection.
25
+ */
26
+ import type { SupraFxClient, SubmitResult } from "../client.js";
27
+ export type CommitState = "submitted" | "in_mempool" | "applied" | "rejected" | "unknown";
28
+ export interface CommitResult {
29
+ /** Raw ingress signal. TRUE DOES NOT MEAN COMMITTED — read `lifecycle`. */
30
+ ok: boolean;
31
+ lifecycle: CommitState;
32
+ /**
33
+ * `true` only when a state read CONFIRMED the write landed.
34
+ * `false` only when ingress rejected it.
35
+ * `null` when ingress accepted it but the poll window expired without
36
+ * confirmation — genuinely unknown, not a negative.
37
+ */
38
+ applied: boolean | null;
39
+ /** The read that decided `lifecycle`, named so it can be re-run by hand. */
40
+ verified_by: string;
41
+ /** Language-neutral, claims nothing about locked funds it did not read. */
42
+ note: string;
43
+ batch?: number;
44
+ event_hash_hex?: string;
45
+ code?: string;
46
+ detail?: string;
47
+ /** How long the confirming poll ran. */
48
+ polled_ms?: number;
49
+ }
50
+ /**
51
+ * How long to wait for a write to be CONFIRMED on chain before reporting
52
+ * `unknown`. Batches normally commit in a few seconds.
53
+ *
54
+ * Tunable via `SUPRAFX_APPLY_POLL_MS`:
55
+ * - raise it on a slow or congested venue so fewer writes end `unknown`
56
+ * - set it to `0` to skip confirmation entirely (every accepted write
57
+ * reports `unknown` immediately) — for tests, or for a latency-bound
58
+ * loop that does its own accounting
59
+ */
60
+ export declare const DEFAULT_APPLY_POLL_MS = 12000;
61
+ /**
62
+ * Read LAZILY, on every call — not once at module load. A module-load
63
+ * read is decided by import order, so a caller that sets the variable in
64
+ * its own module body (a test, a wrapper script) would be ignored because
65
+ * this module had already been evaluated.
66
+ */
67
+ export declare function applyPollMs(): number;
68
+ /** UUID comparison that cannot produce a casing false-negative.
69
+ *
70
+ * The venue has returned RFQ and quote ids in mixed casing. Comparing a
71
+ * lower-cased local id against a raw API id made a LANDED write report
72
+ * `applied:false` — the single most dangerous kind of wrong answer,
73
+ * because the agent then retries a trade it already has. Both sides are
74
+ * normalized here, dashes included. */
75
+ export declare function sameId(a: string | null | undefined, b: string | null | undefined): boolean;
76
+ /**
77
+ * Wrap a raw ingress `SubmitResult` in a lifecycle, confirming with
78
+ * `check` when ingress accepted it.
79
+ *
80
+ * `verifiedBy` names the read an operator can re-run by hand to see the
81
+ * same thing — the runbook leans on this.
82
+ */
83
+ export declare function withLifecycle(res: SubmitResult, opts: {
84
+ verifiedBy: string;
85
+ check: () => Promise<boolean>;
86
+ budgetMs?: number;
87
+ /** What the agent should read to settle an `unknown`. */
88
+ tieBreaker: string;
89
+ }): Promise<CommitResult>;
90
+ /** Find an RFQ by id across the statuses a write can leave it in. */
91
+ export declare function findRfq(client: SupraFxClient, rfqId: string): Promise<{
92
+ id: string;
93
+ status: string;
94
+ quotes?: RawQuote[];
95
+ } | null>;
96
+ /** Quote rows the public orderbook embeds on each RFQ. */
97
+ export interface RawQuote {
98
+ id: string;
99
+ maker_address: string;
100
+ rate: number;
101
+ status: string;
102
+ created_at: string;
103
+ }
104
+ /** Find a quote by id anywhere in the public orderbook. */
105
+ export declare function findQuote(client: SupraFxClient, quoteId: string): Promise<{
106
+ quote: RawQuote;
107
+ rfqId: string;
108
+ rfqStatus: string;
109
+ } | null>;
@@ -0,0 +1,170 @@
1
+ /**
2
+ * Commit lifecycle for SupraFX writes.
3
+ *
4
+ * THE PROBLEM THIS SOLVES. Every write endpoint answers from the dApp
5
+ * *ingress*, not from chain state. `ok:true` means "the envelope was
6
+ * accepted into the mempool" — the validators can still reject it at
7
+ * apply time (inactive or unauthorized delegate, cap exhausted, wrong
8
+ * pair, replayed sequence number) and the venue will never tell you.
9
+ * An agent that trusts `ok` fires its next write against a position it
10
+ * does not have.
11
+ *
12
+ * So every write here reports a LIFECYCLE, not a boolean:
13
+ *
14
+ * submitted → the envelope was built and POSTed
15
+ * in_mempool → ingress accepted it (`ok:true`) — NOT yet committed
16
+ * applied → a state READ confirms it landed on chain
17
+ * rejected → ingress refused it outright (`ok:false`)
18
+ * unknown → ingress accepted it but the confirming read never
19
+ * showed it inside the poll window. NOT a failure and
20
+ * NOT a success — read state back before acting.
21
+ *
22
+ * `unknown` is deliberate. The honest answer to "did it land?" when the
23
+ * poll window expires is "I do not know yet", and an agent needs to be
24
+ * able to tell that apart from a clean rejection.
25
+ */
26
+ /**
27
+ * How long to wait for a write to be CONFIRMED on chain before reporting
28
+ * `unknown`. Batches normally commit in a few seconds.
29
+ *
30
+ * Tunable via `SUPRAFX_APPLY_POLL_MS`:
31
+ * - raise it on a slow or congested venue so fewer writes end `unknown`
32
+ * - set it to `0` to skip confirmation entirely (every accepted write
33
+ * reports `unknown` immediately) — for tests, or for a latency-bound
34
+ * loop that does its own accounting
35
+ */
36
+ export const DEFAULT_APPLY_POLL_MS = 12_000;
37
+ const APPLY_POLL_INTERVAL_MS = 1_200;
38
+ /**
39
+ * Read LAZILY, on every call — not once at module load. A module-load
40
+ * read is decided by import order, so a caller that sets the variable in
41
+ * its own module body (a test, a wrapper script) would be ignored because
42
+ * this module had already been evaluated.
43
+ */
44
+ export function applyPollMs() {
45
+ const raw = process.env.SUPRAFX_APPLY_POLL_MS;
46
+ if (raw == null || raw.trim() === "")
47
+ return DEFAULT_APPLY_POLL_MS;
48
+ const n = Number(raw);
49
+ return Number.isFinite(n) && n >= 0 ? n : DEFAULT_APPLY_POLL_MS;
50
+ }
51
+ /** UUID comparison that cannot produce a casing false-negative.
52
+ *
53
+ * The venue has returned RFQ and quote ids in mixed casing. Comparing a
54
+ * lower-cased local id against a raw API id made a LANDED write report
55
+ * `applied:false` — the single most dangerous kind of wrong answer,
56
+ * because the agent then retries a trade it already has. Both sides are
57
+ * normalized here, dashes included. */
58
+ export function sameId(a, b) {
59
+ if (!a || !b)
60
+ return false;
61
+ const norm = (s) => s.replace(/-/g, "").trim().toLowerCase();
62
+ return norm(a) === norm(b);
63
+ }
64
+ /**
65
+ * Poll `check` until it returns true, the budget expires, or it throws.
66
+ * A throwing check is treated as "not yet" — a transient read failure
67
+ * must not be reported as a rejected trade.
68
+ */
69
+ async function pollForApply(check, budgetMs = applyPollMs()) {
70
+ const started = Date.now();
71
+ // A zero budget means "do not confirm" — report `unknown` at once
72
+ // rather than doing one speculative read.
73
+ if (budgetMs <= 0)
74
+ return { confirmed: false, elapsedMs: 0 };
75
+ // First check immediately: a fast batch may already have committed.
76
+ for (;;) {
77
+ try {
78
+ if (await check())
79
+ return { confirmed: true, elapsedMs: Date.now() - started };
80
+ }
81
+ catch {
82
+ // transient read failure — keep polling, never downgrade to "rejected"
83
+ }
84
+ if (Date.now() - started >= budgetMs) {
85
+ return { confirmed: false, elapsedMs: Date.now() - started };
86
+ }
87
+ await new Promise((r) => setTimeout(r, APPLY_POLL_INTERVAL_MS));
88
+ }
89
+ }
90
+ /**
91
+ * Wrap a raw ingress `SubmitResult` in a lifecycle, confirming with
92
+ * `check` when ingress accepted it.
93
+ *
94
+ * `verifiedBy` names the read an operator can re-run by hand to see the
95
+ * same thing — the runbook leans on this.
96
+ */
97
+ export async function withLifecycle(res, opts) {
98
+ const base = {
99
+ ok: !!res.ok,
100
+ batch: res.batch,
101
+ event_hash_hex: res.event_hash_hex,
102
+ code: res.code,
103
+ detail: res.detail,
104
+ };
105
+ if (!res.ok) {
106
+ return {
107
+ ...base,
108
+ lifecycle: "rejected",
109
+ applied: false,
110
+ verified_by: "ingress",
111
+ note: `Rejected at ingress${res.code ? ` (code: ${res.code})` : ""}. ` +
112
+ `The envelope was refused before reaching consensus, so no ` +
113
+ `sequence slot and no funds were committed by THIS call. ` +
114
+ `If you are unsure of the account state, read it back: ${opts.tieBreaker}.`,
115
+ };
116
+ }
117
+ const { confirmed, elapsedMs } = await pollForApply(opts.check, opts.budgetMs);
118
+ if (confirmed) {
119
+ return {
120
+ ...base,
121
+ lifecycle: "applied",
122
+ applied: true,
123
+ verified_by: opts.verifiedBy,
124
+ note: `Confirmed on chain by reading ${opts.verifiedBy}.`,
125
+ polled_ms: elapsedMs,
126
+ };
127
+ }
128
+ // Ingress said yes; the confirming read never saw it. Say exactly that.
129
+ //
130
+ // What this note must NOT do is assert that no funds were locked. The
131
+ // previous implementation hard-coded that claim, and it was wrong in
132
+ // every case where the write actually landed and only the confirming
133
+ // read was late or mis-compared. Never assert a lock state you did not
134
+ // read.
135
+ return {
136
+ ...base,
137
+ lifecycle: "unknown",
138
+ applied: null,
139
+ verified_by: opts.verifiedBy,
140
+ note: `Accepted at ingress (ok:true) but NOT confirmed on chain within ` +
141
+ `${Math.round(elapsedMs / 1000)}s by reading ${opts.verifiedBy}. ` +
142
+ `This is UNKNOWN, not a failure — the write may still commit, and ` +
143
+ `it may already have locked funds. Do NOT retry blindly. ` +
144
+ `Read state back to settle it: ${opts.tieBreaker}.`,
145
+ polled_ms: elapsedMs,
146
+ };
147
+ }
148
+ /** Find an RFQ by id across the statuses a write can leave it in. */
149
+ export async function findRfq(client, rfqId) {
150
+ for (const status of ["open", "matched", "cancelled", "expired"]) {
151
+ const rows = (await client.getOrderbook({ status, limit: 200 }));
152
+ const hit = rows.find((r) => sameId(r.id, rfqId));
153
+ if (hit)
154
+ return hit;
155
+ }
156
+ return null;
157
+ }
158
+ /** Find a quote by id anywhere in the public orderbook. */
159
+ export async function findQuote(client, quoteId) {
160
+ for (const status of ["open", "matched", "cancelled", "expired"]) {
161
+ const rows = (await client.getOrderbook({ status, limit: 200 }));
162
+ for (const r of rows) {
163
+ const q = (r.quotes ?? []).find((x) => sameId(x.id, quoteId));
164
+ if (q)
165
+ return { quote: q, rfqId: r.id, rfqStatus: r.status };
166
+ }
167
+ }
168
+ return null;
169
+ }
170
+ //# sourceMappingURL=lifecycle.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"lifecycle.js","sourceRoot":"","sources":["../../../src/mcp/lifecycle.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,36 @@
1
+ /**
2
+ * Session preflight: the checks that decide whether it is safe to trade
3
+ * right now, run as a first-class MCP tool instead of living in prose.
4
+ *
5
+ * Every check answers with a status and, when it is not `ok`, the ACTION
6
+ * that clears it — so an agent can branch on the result instead of
7
+ * parsing a paragraph. Run it on connect, and again after any surprise.
8
+ */
9
+ import type { SupraFxClient } from "../client.js";
10
+ import type { DelegateSigner } from "../signer.js";
11
+ /** A quote older than this must not be traded against. */
12
+ export declare const ORACLE_STALE_MS = 120000;
13
+ export type CheckStatus = "ok" | "warn" | "fail" | "skipped";
14
+ export interface Check {
15
+ name: string;
16
+ status: CheckStatus;
17
+ detail: string;
18
+ /** The one thing that clears a non-ok check. */
19
+ action?: string;
20
+ }
21
+ export interface PreflightResult {
22
+ ready_to_trade: boolean;
23
+ read_path_ok: boolean;
24
+ mode: "read_only" | "guarded" | "autonomous";
25
+ checks: Check[];
26
+ summary: string;
27
+ }
28
+ export interface PreflightOptions {
29
+ client: SupraFxClient;
30
+ signer: DelegateSigner | null;
31
+ masterAddress: string | null;
32
+ mode: "read_only" | "guarded" | "autonomous";
33
+ /** Pair to check oracle freshness against, e.g. "ETH/USDC". */
34
+ pair?: string;
35
+ }
36
+ export declare function runPreflight(opts: PreflightOptions): Promise<PreflightResult>;