@sharpe-terminal/mcp-server 1.4.0 → 1.6.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +17 -7
- package/dist/api-client.d.ts +38 -1
- package/dist/api-client.d.ts.map +1 -1
- package/dist/api-client.js +119 -10
- package/dist/api-client.js.map +1 -1
- package/dist/composite-tools.d.ts +27 -45
- package/dist/composite-tools.d.ts.map +1 -1
- package/dist/composite-tools.js +372 -546
- package/dist/composite-tools.js.map +1 -1
- package/dist/contracts/manifest.d.ts +52 -0
- package/dist/contracts/manifest.d.ts.map +1 -0
- package/dist/contracts/manifest.js +9 -0
- package/dist/contracts/manifest.js.map +1 -0
- package/dist/endpoint-tools.d.ts +107 -0
- package/dist/endpoint-tools.d.ts.map +1 -0
- package/dist/endpoint-tools.js +382 -0
- package/dist/endpoint-tools.js.map +1 -0
- package/dist/server.d.ts +20 -0
- package/dist/server.d.ts.map +1 -1
- package/dist/server.js +143 -101
- package/dist/server.js.map +1 -1
- package/dist/tool-runtime.d.ts +33 -38
- package/dist/tool-runtime.d.ts.map +1 -1
- package/dist/tool-runtime.js +113 -238
- package/dist/tool-runtime.js.map +1 -1
- package/package.json +1 -1
- package/dist/tools.d.ts +0 -567
- package/dist/tools.d.ts.map +0 -1
- package/dist/tools.js +0 -1166
- package/dist/tools.js.map +0 -1
package/README.md
CHANGED
|
@@ -64,22 +64,32 @@ are never followed, and keys are never forwarded across hosts.
|
|
|
64
64
|
rug check, token scanner, stablecoins, news, and more.
|
|
65
65
|
- 3 composite workflows: `analyze_coin`, `market_briefing`,
|
|
66
66
|
`find_opportunities` fan out across several endpoints and return a
|
|
67
|
-
formatted briefing
|
|
67
|
+
formatted briefing of the fields the API serves (rankings, floors and
|
|
68
|
+
averages are request parameters, never recomputed client-side), ending
|
|
69
|
+
with the freshness of every answer they read.
|
|
68
70
|
- 4 resources and 2 prompts: chart-id catalogs and guided workflows.
|
|
69
71
|
|
|
70
|
-
|
|
71
|
-
|
|
72
|
+
The endpoint tools are generated from the API's contracts (the agent
|
|
73
|
+
manifest bundled with the package): each tool's description and
|
|
74
|
+
parameters (types, enums, bounds, defaults) are the ones the API
|
|
75
|
+
documents, and an argument outside them is refused with every issue
|
|
76
|
+
named. A tool answers `structuredContent` of `{ data, pagination?, meta }`:
|
|
77
|
+
`data` as the API served it, `pagination` (`cursor`, `has_more`, `total`)
|
|
78
|
+
when the answer is one page, and `meta` with the route that answered and the
|
|
79
|
+
API's freshness and warnings.
|
|
72
80
|
|
|
73
|
-
Large responses are
|
|
74
|
-
|
|
81
|
+
Large responses are cut to protect the model context window without changing
|
|
82
|
+
their shape; `meta.truncated` and `meta.truncated_fields` (each cut field's
|
|
83
|
+
`total` and `showing`) say what was cut.
|
|
75
84
|
|
|
76
85
|
## Data freshness
|
|
77
86
|
|
|
78
87
|
Current funding rates refresh every 5 minutes; accumulated funding keeps a
|
|
79
88
|
30-minute refresh, and funding history rows land per settlement. Futures
|
|
80
89
|
datasets refresh every 10 minutes to 6 hours depending on the metric;
|
|
81
|
-
narrative and ecosystem data refreshes every 2 hours.
|
|
82
|
-
API's freshness
|
|
90
|
+
narrative and ecosystem data refreshes every 2 hours. Each result's `meta`
|
|
91
|
+
carries the API's freshness (`as_of`, `stale_after`, `freshness_status`,
|
|
92
|
+
`runtime_status`).
|
|
83
93
|
|
|
84
94
|
## Links
|
|
85
95
|
|
package/dist/api-client.d.ts
CHANGED
|
@@ -1,4 +1,17 @@
|
|
|
1
|
-
|
|
1
|
+
/** The route's answer as served, before any unwrapping: what the endpoint tools read (endpoint-tools.ts). */
|
|
2
|
+
export interface RawAnswer {
|
|
3
|
+
/** "v1" with a key, or for a route with no free twin; "public" for the free twin a keyless call reads. */
|
|
4
|
+
route: "v1" | "public";
|
|
5
|
+
body: unknown;
|
|
6
|
+
headers: Headers;
|
|
7
|
+
}
|
|
8
|
+
/**
|
|
9
|
+
* Performs the API calls: v1 with a key, the free route without one. Called, it answers the payload unwrapped from
|
|
10
|
+
* the v1 envelope (the composites read that); `raw`, when present, answers the body as served.
|
|
11
|
+
*/
|
|
12
|
+
export type ApiCaller = ((apiPath: string, fallbackPath: string, args: Record<string, unknown>) => Promise<unknown>) & {
|
|
13
|
+
readonly raw?: (apiPath: string, fallbackPath: string, args: Record<string, unknown>) => Promise<RawAnswer>;
|
|
14
|
+
};
|
|
2
15
|
export interface ApiClientOptions {
|
|
3
16
|
apiKey?: string;
|
|
4
17
|
apiBaseUrl: string;
|
|
@@ -26,5 +39,29 @@ export declare function headerPagination(headers: Headers): {
|
|
|
26
39
|
has_more: boolean;
|
|
27
40
|
total: number | null;
|
|
28
41
|
} | null;
|
|
42
|
+
/**
|
|
43
|
+
* The freshness envelope an answer carried (engine L5 ServeMeta, WP-S12: v1 `meta`, a free body's `meta`, or the
|
|
44
|
+
* X-Data-* headers of a bare array): an endpoint tool reports it in its result's `meta`, a composite in the report's
|
|
45
|
+
* closing line.
|
|
46
|
+
*/
|
|
47
|
+
export interface DataFreshness {
|
|
48
|
+
dataset_id?: string;
|
|
49
|
+
as_of: string | null;
|
|
50
|
+
stale_after: string | null;
|
|
51
|
+
freshness_status: "fresh" | "stale" | "unknown";
|
|
52
|
+
runtime_status: "ok" | "degraded";
|
|
53
|
+
served_from?: string;
|
|
54
|
+
warnings: string[];
|
|
55
|
+
truncated?: true;
|
|
56
|
+
}
|
|
57
|
+
/** The envelope from a `meta` object that carries one (it has `freshness_status`), else null. */
|
|
58
|
+
export declare function freshnessFromMeta(meta: unknown): DataFreshness | null;
|
|
59
|
+
/**
|
|
60
|
+
* The envelope from the X-Data-* headers: the only place a bare-array answer carries it. Routes not yet on the
|
|
61
|
+
* envelope send X-Data-As-Of / X-Data-Stale of their own, which say the same two things.
|
|
62
|
+
*/
|
|
63
|
+
export declare function freshnessFromHeaders(headers: Headers): DataFreshness | null;
|
|
64
|
+
/** What the API said about the freshness of a value callApi returned, or null when it said nothing. */
|
|
65
|
+
export declare function freshnessOf(value: unknown): DataFreshness | null;
|
|
29
66
|
export declare function createApiCaller(options: ApiClientOptions): ApiCaller;
|
|
30
67
|
//# sourceMappingURL=api-client.d.ts.map
|
package/dist/api-client.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"api-client.d.ts","sourceRoot":"","sources":["../src/api-client.ts"],"names":[],"mappings":"AAEA,MAAM,MAAM,SAAS,GAAG,
|
|
1
|
+
{"version":3,"file":"api-client.d.ts","sourceRoot":"","sources":["../src/api-client.ts"],"names":[],"mappings":"AAEA,6GAA6G;AAC7G,MAAM,WAAW,SAAS;IACxB,0GAA0G;IAC1G,KAAK,EAAE,IAAI,GAAG,QAAQ,CAAC;IACvB,IAAI,EAAE,OAAO,CAAC;IACd,OAAO,EAAE,OAAO,CAAC;CAClB;AAED;;;GAGG;AACH,MAAM,MAAM,SAAS,GAAG,CAAC,CACvB,OAAO,EAAE,MAAM,EACf,YAAY,EAAE,MAAM,EACpB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAC1B,OAAO,CAAC,OAAO,CAAC,CAAC,GAAG;IACvB,QAAQ,CAAC,GAAG,CAAC,EAAE,CACb,OAAO,EAAE,MAAM,EACf,YAAY,EAAE,MAAM,EACpB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAC1B,OAAO,CAAC,SAAS,CAAC,CAAC;CACzB,CAAC;AAEF,MAAM,WAAW,gBAAgB;IAC/B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;IACnB,eAAe,EAAE,MAAM,CAAC;IACxB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,OAAO,KAAK,CAAC;IACzB,iEAAiE;IACjE,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,mCAAmC;IACnC,KAAK,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;CACvC;AAuBD,2EAA2E;AAC3E,wBAAgB,YAAY,CAAC,QAAQ,EAAE,QAAQ,GAAG,IAAI,GAAG,MAAM,GAAG,IAAI,CAWrE;AASD;;;GAGG;AACH,wBAAgB,kBAAkB,CAChC,QAAQ,EAAE,QAAQ,EAClB,IAAI,EAAE,MAAM,EACZ,IAAI,CAAC,EAAE,MAAM,GACZ,MAAM,CA+BR;AAED,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAsCrD;AAED,wBAAgB,SAAS,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAS/C;AAED,wBAAgB,QAAQ,CACtB,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC9B,MAAM,CAQR;AAED,sFAAsF;AACtF,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,OAAO,GAAG;IAClD,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,QAAQ,EAAE,OAAO,CAAC;IAClB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;CACtB,GAAG,IAAI,CAUP;AAED;;;;GAIG;AACH,MAAM,WAAW,aAAa;IAC5B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,gBAAgB,EAAE,OAAO,GAAG,OAAO,GAAG,SAAS,CAAC;IAChD,cAAc,EAAE,IAAI,GAAG,UAAU,CAAC;IAClC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,SAAS,CAAC,EAAE,IAAI,CAAC;CAClB;AAyBD,iGAAiG;AACjG,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,OAAO,GAAG,aAAa,GAAG,IAAI,CAwBrE;AAED;;;GAGG;AACH,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,OAAO,GAAG,aAAa,GAAG,IAAI,CA6B3E;AAID,uGAAuG;AACvG,wBAAgB,WAAW,CAAC,KAAK,EAAE,OAAO,GAAG,aAAa,GAAG,IAAI,CAIhE;AAsBD,wBAAgB,eAAe,CAAC,OAAO,EAAE,gBAAgB,GAAG,SAAS,CA6IpE"}
|
package/dist/api-client.js
CHANGED
|
@@ -139,6 +139,105 @@ export function headerPagination(headers) {
|
|
|
139
139
|
total: Number.isFinite(total) ? total : null,
|
|
140
140
|
};
|
|
141
141
|
}
|
|
142
|
+
/** The ServeMeta keys a free body's `meta` gains (src/engine/serve/envelope.ts SERVE_META_KEYS). */
|
|
143
|
+
const SERVE_META_KEYS = new Set([
|
|
144
|
+
"dataset_id",
|
|
145
|
+
"as_of",
|
|
146
|
+
"stale_after",
|
|
147
|
+
"freshness_sla_seconds",
|
|
148
|
+
"freshness_status",
|
|
149
|
+
"runtime_status",
|
|
150
|
+
"served_from",
|
|
151
|
+
"generated_at",
|
|
152
|
+
"source",
|
|
153
|
+
"coverage",
|
|
154
|
+
"warnings",
|
|
155
|
+
"truncated",
|
|
156
|
+
]);
|
|
157
|
+
function isRecord(value) {
|
|
158
|
+
return value !== null && typeof value === "object" && !Array.isArray(value);
|
|
159
|
+
}
|
|
160
|
+
const stringOrNull = (value) => typeof value === "string" && value !== "" ? value : null;
|
|
161
|
+
/** The envelope from a `meta` object that carries one (it has `freshness_status`), else null. */
|
|
162
|
+
export function freshnessFromMeta(meta) {
|
|
163
|
+
if (!isRecord(meta))
|
|
164
|
+
return null;
|
|
165
|
+
const status = meta.freshness_status;
|
|
166
|
+
if (status !== "fresh" && status !== "stale" && status !== "unknown") {
|
|
167
|
+
return null;
|
|
168
|
+
}
|
|
169
|
+
return {
|
|
170
|
+
...(typeof meta.dataset_id === "string"
|
|
171
|
+
? { dataset_id: meta.dataset_id }
|
|
172
|
+
: {}),
|
|
173
|
+
as_of: stringOrNull(meta.as_of),
|
|
174
|
+
stale_after: stringOrNull(meta.stale_after),
|
|
175
|
+
freshness_status: status,
|
|
176
|
+
runtime_status: meta.runtime_status === "degraded" ? "degraded" : "ok",
|
|
177
|
+
...(typeof meta.served_from === "string"
|
|
178
|
+
? { served_from: meta.served_from }
|
|
179
|
+
: {}),
|
|
180
|
+
warnings: Array.isArray(meta.warnings)
|
|
181
|
+
? meta.warnings.filter((warning) => typeof warning === "string")
|
|
182
|
+
: [],
|
|
183
|
+
...(meta.truncated === true ? { truncated: true } : {}),
|
|
184
|
+
};
|
|
185
|
+
}
|
|
186
|
+
/**
|
|
187
|
+
* The envelope from the X-Data-* headers: the only place a bare-array answer carries it. Routes not yet on the
|
|
188
|
+
* envelope send X-Data-As-Of / X-Data-Stale of their own, which say the same two things.
|
|
189
|
+
*/
|
|
190
|
+
export function freshnessFromHeaders(headers) {
|
|
191
|
+
const status = headers.get("x-data-status");
|
|
192
|
+
const stale = headers.get("x-data-stale");
|
|
193
|
+
const asOf = stringOrNull(headers.get("x-data-as-of"));
|
|
194
|
+
if (status === null && stale === null && asOf === null)
|
|
195
|
+
return null;
|
|
196
|
+
const freshness = asOf === null
|
|
197
|
+
? "unknown"
|
|
198
|
+
: stale !== null
|
|
199
|
+
? stale === "true"
|
|
200
|
+
? "stale"
|
|
201
|
+
: "fresh"
|
|
202
|
+
: status === "fresh"
|
|
203
|
+
? "fresh"
|
|
204
|
+
: status === "stale"
|
|
205
|
+
? "stale"
|
|
206
|
+
: "unknown";
|
|
207
|
+
const degraded = status === "degraded" ||
|
|
208
|
+
status === "fallback" ||
|
|
209
|
+
headers.get("x-data-fallback") !== null ||
|
|
210
|
+
headers.get("x-data-partial") !== null;
|
|
211
|
+
return {
|
|
212
|
+
as_of: asOf,
|
|
213
|
+
stale_after: stringOrNull(headers.get("x-data-stale-after")),
|
|
214
|
+
freshness_status: freshness,
|
|
215
|
+
runtime_status: degraded ? "degraded" : "ok",
|
|
216
|
+
warnings: [],
|
|
217
|
+
};
|
|
218
|
+
}
|
|
219
|
+
const FRESHNESS = new WeakMap();
|
|
220
|
+
/** What the API said about the freshness of a value callApi returned, or null when it said nothing. */
|
|
221
|
+
export function freshnessOf(value) {
|
|
222
|
+
return value !== null && typeof value === "object"
|
|
223
|
+
? (FRESHNESS.get(value) ?? null)
|
|
224
|
+
: null;
|
|
225
|
+
}
|
|
226
|
+
function withFreshnessOf(value, freshness) {
|
|
227
|
+
if (freshness !== null && value !== null && typeof value === "object") {
|
|
228
|
+
FRESHNESS.set(value, freshness);
|
|
229
|
+
}
|
|
230
|
+
return value;
|
|
231
|
+
}
|
|
232
|
+
/** A free body without the envelope keys its `meta` gained (a composite reads them as freshness); an emptied meta goes. */
|
|
233
|
+
function withoutEnvelopeMeta(body) {
|
|
234
|
+
if (!isRecord(body.meta))
|
|
235
|
+
return body;
|
|
236
|
+
const own = Object.fromEntries(Object.entries(body.meta).filter(([key]) => !SERVE_META_KEYS.has(key)));
|
|
237
|
+
const { meta: _meta, ...rest } = body;
|
|
238
|
+
void _meta;
|
|
239
|
+
return Object.keys(own).length > 0 ? { ...rest, meta: own } : rest;
|
|
240
|
+
}
|
|
142
241
|
export function createApiCaller(options) {
|
|
143
242
|
const apiKey = (options.apiKey ?? "").trim();
|
|
144
243
|
const apiBaseUrl = normalizeBaseUrl(options.apiBaseUrl);
|
|
@@ -146,7 +245,7 @@ export function createApiCaller(options) {
|
|
|
146
245
|
const fetchImpl = options.fetchImpl ?? fetch;
|
|
147
246
|
const sleep = options.sleep ??
|
|
148
247
|
((ms) => new Promise((resolve) => setTimeout(resolve, ms)));
|
|
149
|
-
|
|
248
|
+
async function raw(apiPath, fallbackPath, args) {
|
|
150
249
|
const useAuthenticatedApi = apiKey.length > 0;
|
|
151
250
|
const base = useAuthenticatedApi ? apiBaseUrl : fallbackBaseUrl;
|
|
152
251
|
const path = useAuthenticatedApi ? apiPath : fallbackPath;
|
|
@@ -201,20 +300,28 @@ export function createApiCaller(options) {
|
|
|
201
300
|
: undefined;
|
|
202
301
|
throw new Error(describeApiFailure(response, body, hint));
|
|
203
302
|
}
|
|
204
|
-
let
|
|
303
|
+
let body;
|
|
205
304
|
try {
|
|
206
|
-
|
|
305
|
+
body = await response.json();
|
|
207
306
|
}
|
|
208
307
|
catch {
|
|
209
308
|
throw new Error(`API returned invalid JSON for ${apiPath}`);
|
|
210
309
|
}
|
|
310
|
+
return {
|
|
311
|
+
route: useAuthenticatedApi || fallbackPath === apiPath ? "v1" : "public",
|
|
312
|
+
body,
|
|
313
|
+
headers: response.headers,
|
|
314
|
+
};
|
|
315
|
+
}
|
|
316
|
+
async function callApi(apiPath, fallbackPath, args) {
|
|
317
|
+
const { body: data, headers } = await raw(apiPath, fallbackPath, args);
|
|
211
318
|
// The free funding book keeps its body a bare array and carries the page
|
|
212
319
|
// cursor only in X-Next-Cursor / X-Total-Count headers. Wrap it in the v1
|
|
213
320
|
// pagination shape so the runtime reattaches the cursor instead of
|
|
214
321
|
// silently dropping it (2026-09-24 audit).
|
|
215
322
|
if (Array.isArray(data)) {
|
|
216
|
-
const pagination = headerPagination(
|
|
217
|
-
return pagination ? { data, pagination } : data;
|
|
323
|
+
const pagination = headerPagination(headers);
|
|
324
|
+
return withFreshnessOf(pagination ? { data, pagination } : data, freshnessFromHeaders(headers));
|
|
218
325
|
}
|
|
219
326
|
if (data &&
|
|
220
327
|
typeof data === "object" &&
|
|
@@ -229,12 +336,14 @@ export function createApiCaller(options) {
|
|
|
229
336
|
// (2026-07-27 audit), and an aggregate would have to be recomputed
|
|
230
337
|
// client-side from a truncated page instead of read once.
|
|
231
338
|
const { data: inner, meta, ...siblings } = envelope;
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
339
|
+
return withFreshnessOf(Object.keys(siblings).length > 0 ? { data: inner, ...siblings } : inner, freshnessFromMeta(meta) ?? freshnessFromHeaders(headers));
|
|
340
|
+
}
|
|
341
|
+
if (isRecord(data)) {
|
|
342
|
+
// A free object body carries the envelope in its own `meta` (merged into any meta it had).
|
|
343
|
+
return withFreshnessOf(withoutEnvelopeMeta(data), freshnessFromMeta(data.meta) ?? freshnessFromHeaders(headers));
|
|
236
344
|
}
|
|
237
345
|
return data;
|
|
238
|
-
}
|
|
346
|
+
}
|
|
347
|
+
return Object.assign(callApi, { raw });
|
|
239
348
|
}
|
|
240
349
|
//# sourceMappingURL=api-client.js.map
|
package/dist/api-client.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"api-client.js","sourceRoot":"","sources":["../src/api-client.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"api-client.js","sourceRoot":"","sources":["../src/api-client.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,60 +1,42 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Composite tools that call
|
|
3
|
-
*
|
|
4
|
-
*
|
|
2
|
+
* Composite tools that call several API endpoints concurrently and return
|
|
3
|
+
* formatted markdown. Mirrors the Python server's analyze_coin,
|
|
4
|
+
* market_briefing and find_opportunities line for line.
|
|
5
|
+
*
|
|
6
|
+
* Every number a composite prints is a field the API serves, the value the web
|
|
7
|
+
* page and /api/v1 give for the same request (engine L4 WP-D14): the
|
|
8
|
+
* rankings, floors, averages and APRs are request parameters and response
|
|
9
|
+
* fields, never recomputed here. A report ends with the freshness of every
|
|
10
|
+
* answer it read.
|
|
5
11
|
*/
|
|
12
|
+
import { type DataFreshness } from "./api-client.ts";
|
|
6
13
|
export declare function fmtUsd(value: number | null | undefined): string;
|
|
7
14
|
export declare function fmtPct(value: number | null | undefined): string;
|
|
8
15
|
export declare function fmtRate(value: number | null | undefined): string;
|
|
16
|
+
/** An annualized fraction (0.25 = 25%) as a percentage, or N/A. */
|
|
17
|
+
export declare function fmtApr(value: unknown): string;
|
|
9
18
|
/**
|
|
10
|
-
*
|
|
11
|
-
*
|
|
12
|
-
*
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
/** APR for one observation: `rate x (8760 / interval_hours)`. */
|
|
16
|
-
export declare function aprVal(r: Record<string, unknown>): number;
|
|
17
|
-
/**
|
|
18
|
-
* Minimum open interest (USD) for a market to rank in market_briefing and
|
|
19
|
-
* find_opportunities, and the per-leg OI and volume floor sent to the
|
|
20
|
-
* cross-exchange scanner. Without it every extreme was a dust market (ESIM
|
|
21
|
-
* on KuCoin: $33K of OI at -16,862% APR, 2026-09-24 audit). Unknown OI fails
|
|
22
|
-
* the floor, the same rule the cross-exchange API applies.
|
|
19
|
+
* The open-interest floor (USD) the composites ask the API to apply: funding
|
|
20
|
+
* extremes (`min_oi_usd`), the spot-perp perp leg and both cross-exchange legs
|
|
21
|
+
* (`minOiUsd`, `minVolUsd`). Unfloored, every extreme was a dust market (ESIM
|
|
22
|
+
* on KuCoin: $33K of OI at -16,862% APR, 2026-09-24 audit). The API applies
|
|
23
|
+
* it; unknown open interest fails it there.
|
|
23
24
|
*/
|
|
24
25
|
export declare const LIQUIDITY_FLOOR_USD = 1000000;
|
|
25
|
-
/** FUNDING_RATE_FRESHNESS_SLA_SECONDS in src/products/funding-rate/lib/freshness.ts. */
|
|
26
|
-
export declare const FUNDING_FRESHNESS_SLA_MS: number;
|
|
27
|
-
/**
|
|
28
|
-
* A funding row past its freshness SLA. The free endpoint serves stale rows
|
|
29
|
-
* flagged `is_stale: true` rather than dropping them, so rankings skip them;
|
|
30
|
-
* a row without the flag is judged from its `updated_at`.
|
|
31
|
-
*/
|
|
32
|
-
export declare function isStaleRow(row: Record<string, unknown>, nowMs?: number): boolean;
|
|
33
|
-
/** A venue whose latest reading trails the newest by more than this is not current OI. */
|
|
34
|
-
export declare const OI_FRESHNESS_WINDOW_MS: number;
|
|
35
|
-
interface VenueOi {
|
|
36
|
-
exchange: string;
|
|
37
|
-
value: number;
|
|
38
|
-
at: number;
|
|
39
|
-
}
|
|
40
26
|
/**
|
|
41
|
-
*
|
|
42
|
-
*
|
|
43
|
-
*
|
|
27
|
+
* `max_age_h` on the funding calls: v1 leaves out rows not written for six
|
|
28
|
+
* hours (V1_MAX_AGE_HOURS in the funding read model), so a keyless answer
|
|
29
|
+
* counts the same rows as a keyed one. v1 ignores the parameter.
|
|
44
30
|
*/
|
|
45
|
-
export declare
|
|
31
|
+
export declare const FUNDING_MAX_AGE_HOURS = 6;
|
|
32
|
+
/** One answer's freshness, as the Python server prints it: `dataset · as of … · status[ · degraded] (warnings)`. */
|
|
33
|
+
export declare function freshnessLine(freshness: DataFreshness): string;
|
|
46
34
|
/**
|
|
47
|
-
*
|
|
48
|
-
*
|
|
49
|
-
*
|
|
50
|
-
* sum every current venue: summing only the ten listed understated BTC by
|
|
51
|
-
* 9.4% (2026-09-24 audit).
|
|
35
|
+
* The report with a closing line naming the freshness of every answer it read
|
|
36
|
+
* (engine L5 WP-S12), each once, in the order the calls were made. Nothing
|
|
37
|
+
* changes when no answer said anything.
|
|
52
38
|
*/
|
|
53
|
-
export declare function
|
|
54
|
-
current: VenueOi[];
|
|
55
|
-
stale: VenueOi[];
|
|
56
|
-
excluded: VenueOi[];
|
|
57
|
-
};
|
|
39
|
+
export declare function withFreshnessReport(report: string, answers: unknown[]): string;
|
|
58
40
|
type ApiCaller = (apiPath: string, fallbackPath: string, args: Record<string, unknown>) => Promise<unknown>;
|
|
59
41
|
/**
|
|
60
42
|
* Find the prediction row for a ticker in the endpoint's own coverage list.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"composite-tools.d.ts","sourceRoot":"","sources":["../src/composite-tools.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"composite-tools.d.ts","sourceRoot":"","sources":["../src/composite-tools.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,EAAe,KAAK,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAMlE,wBAAgB,MAAM,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GAAG,MAAM,CAW/D;AAED,wBAAgB,MAAM,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GAAG,MAAM,CAG/D;AAED,wBAAgB,OAAO,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GAAG,MAAM,CAGhE;AAED,mEAAmE;AACnE,wBAAgB,MAAM,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAG7C;AAED;;;;;;GAMG;AACH,eAAO,MAAM,mBAAmB,UAAY,CAAC;AAE7C;;;;GAIG;AACH,eAAO,MAAM,qBAAqB,IAAI,CAAC;AAgDvC,oHAAoH;AACpH,wBAAgB,aAAa,CAAC,SAAS,EAAE,aAAa,GAAG,MAAM,CAW9D;AAED;;;;GAIG;AACH,wBAAgB,mBAAmB,CACjC,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,OAAO,EAAE,GACjB,MAAM,CAcR;AAID,KAAK,SAAS,GAAG,CACf,OAAO,EAAE,MAAM,EACf,YAAY,EAAE,MAAM,EACpB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAC1B,OAAO,CAAC,OAAO,CAAC,CAAC;AA4CtB;;;;;;;;;;;;;GAaG;AACH,wBAAgB,iBAAiB,CAC/B,OAAO,EAAE,OAAO,EAChB,MAAM,EAAE,MAAM,GACb,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAchC;AAuED,wBAAsB,WAAW,CAC/B,OAAO,EAAE,SAAS,EAClB,IAAI,EAAE,MAAM,GACX,OAAO,CAAC,MAAM,CAAC,CAsIjB;AAQD,wBAAsB,cAAc,CAAC,OAAO,EAAE,SAAS,GAAG,OAAO,CAAC,MAAM,CAAC,CAsKxE;AAaD,wBAAsB,iBAAiB,CAAC,OAAO,EAAE,SAAS,GAAG,OAAO,CAAC,MAAM,CAAC,CAmG3E"}
|