@vantagestack/mcp-server 0.1.59 → 0.1.63
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/dist/client.d.ts +25 -0
- package/dist/client.js +172 -0
- package/dist/client.js.map +1 -0
- package/dist/index.d.ts +2 -0
- package/dist/index.js +1424 -0
- package/dist/index.js.map +1 -0
- package/dist/tools/account-deletion.d.ts +6 -0
- package/dist/tools/account-deletion.js +92 -0
- package/dist/tools/account-deletion.js.map +1 -0
- package/dist/tools/account-health.d.ts +21 -0
- package/dist/tools/account-health.js +84 -0
- package/dist/tools/account-health.js.map +1 -0
- package/dist/tools/account.d.ts +19 -0
- package/dist/tools/account.js +291 -0
- package/dist/tools/account.js.map +1 -0
- package/dist/tools/account.test.d.ts +1 -0
- package/dist/tools/account.test.js +213 -0
- package/dist/tools/account.test.js.map +1 -0
- package/dist/tools/admin-test.d.ts +18 -0
- package/dist/tools/admin-test.js +108 -0
- package/dist/tools/admin-test.js.map +1 -0
- package/dist/tools/calendar.d.ts +4 -0
- package/dist/tools/calendar.js +85 -0
- package/dist/tools/calendar.js.map +1 -0
- package/dist/tools/calendar.test.d.ts +1 -0
- package/dist/tools/calendar.test.js +62 -0
- package/dist/tools/calendar.test.js.map +1 -0
- package/dist/tools/canary.d.ts +4 -0
- package/dist/tools/canary.js +25 -0
- package/dist/tools/canary.js.map +1 -0
- package/dist/tools/canary.test.d.ts +1 -0
- package/dist/tools/canary.test.js +46 -0
- package/dist/tools/canary.test.js.map +1 -0
- package/dist/tools/contract-configs.d.ts +9 -0
- package/dist/tools/contract-configs.js +187 -0
- package/dist/tools/contract-configs.js.map +1 -0
- package/dist/tools/contract-configs.test.d.ts +1 -0
- package/dist/tools/contract-configs.test.js +245 -0
- package/dist/tools/contract-configs.test.js.map +1 -0
- package/dist/tools/copier.d.ts +11 -0
- package/dist/tools/copier.js +52 -0
- package/dist/tools/copier.js.map +1 -0
- package/dist/tools/copier.test.d.ts +1 -0
- package/dist/tools/copier.test.js +75 -0
- package/dist/tools/copier.test.js.map +1 -0
- package/dist/tools/groups.d.ts +14 -0
- package/dist/tools/groups.js +44 -0
- package/dist/tools/groups.js.map +1 -0
- package/dist/tools/groups.test.d.ts +1 -0
- package/dist/tools/groups.test.js +72 -0
- package/dist/tools/groups.test.js.map +1 -0
- package/dist/tools/ip-allowlist.d.ts +6 -0
- package/dist/tools/ip-allowlist.js +69 -0
- package/dist/tools/ip-allowlist.js.map +1 -0
- package/dist/tools/journal.d.ts +6 -0
- package/dist/tools/journal.js +110 -0
- package/dist/tools/journal.js.map +1 -0
- package/dist/tools/journal.test.d.ts +1 -0
- package/dist/tools/journal.test.js +100 -0
- package/dist/tools/journal.test.js.map +1 -0
- package/dist/tools/latency.d.ts +3 -0
- package/dist/tools/latency.js +54 -0
- package/dist/tools/latency.js.map +1 -0
- package/dist/tools/market-history.d.ts +4 -0
- package/dist/tools/market-history.js +50 -0
- package/dist/tools/market-history.js.map +1 -0
- package/dist/tools/market-hours.d.ts +3 -0
- package/dist/tools/market-hours.js +19 -0
- package/dist/tools/market-hours.js.map +1 -0
- package/dist/tools/paper-trading.d.ts +12 -0
- package/dist/tools/paper-trading.js +284 -0
- package/dist/tools/paper-trading.js.map +1 -0
- package/dist/tools/paper-trading.test.d.ts +1 -0
- package/dist/tools/paper-trading.test.js +153 -0
- package/dist/tools/paper-trading.test.js.map +1 -0
- package/dist/tools/ping.d.ts +8 -0
- package/dist/tools/ping.js +22 -0
- package/dist/tools/ping.js.map +1 -0
- package/dist/tools/ping.test.d.ts +1 -0
- package/dist/tools/ping.test.js +25 -0
- package/dist/tools/ping.test.js.map +1 -0
- package/dist/tools/qc.d.ts +18 -0
- package/dist/tools/qc.js +418 -0
- package/dist/tools/qc.js.map +1 -0
- package/dist/tools/qc.test.d.ts +1 -0
- package/dist/tools/qc.test.js +218 -0
- package/dist/tools/qc.test.js.map +1 -0
- package/dist/tools/read.d.ts +7 -0
- package/dist/tools/read.js +154 -0
- package/dist/tools/read.js.map +1 -0
- package/dist/tools/read.test.d.ts +1 -0
- package/dist/tools/read.test.js +102 -0
- package/dist/tools/read.test.js.map +1 -0
- package/dist/tools/risk.d.ts +7 -0
- package/dist/tools/risk.js +108 -0
- package/dist/tools/risk.js.map +1 -0
- package/dist/tools/signal-templates.d.ts +6 -0
- package/dist/tools/signal-templates.js +90 -0
- package/dist/tools/signal-templates.js.map +1 -0
- package/dist/tools/signals.d.ts +8 -0
- package/dist/tools/signals.js +318 -0
- package/dist/tools/signals.js.map +1 -0
- package/dist/tools/signals.test.d.ts +1 -0
- package/dist/tools/signals.test.js +92 -0
- package/dist/tools/signals.test.js.map +1 -0
- package/dist/tools/sync-accounts.d.ts +18 -0
- package/dist/tools/sync-accounts.js +68 -0
- package/dist/tools/sync-accounts.js.map +1 -0
- package/dist/tools/trade.d.ts +3 -0
- package/dist/tools/trade.js +49 -0
- package/dist/tools/trade.js.map +1 -0
- package/dist/user.d.ts +19 -0
- package/dist/user.js +21 -0
- package/dist/user.js.map +1 -0
- package/package.json +1 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { VantageClient } from "../client.js";
|
|
2
|
+
import { UserResolver, ToolResult } from "../user.js";
|
|
3
|
+
export declare function deleteConnectionAccount(client: VantageClient, resolver: UserResolver, input: Record<string, unknown>): Promise<ToolResult>;
|
|
4
|
+
export declare function getOrphanedTradesCount(client: VantageClient, _resolver: UserResolver, _input: Record<string, unknown>): Promise<ToolResult>;
|
|
5
|
+
export declare function deleteOrphanedTrades(client: VantageClient, _resolver: UserResolver, input: Record<string, unknown>): Promise<ToolResult>;
|
|
6
|
+
export declare function setAccountDeletePref(client: VantageClient, _resolver: UserResolver, input: Record<string, unknown>): Promise<ToolResult>;
|
|
@@ -0,0 +1,92 @@
|
|
|
1
|
+
// ACCT-DEL — MCP tools for the account-deletion + orphan-trade flow.
|
|
2
|
+
//
|
|
3
|
+
// delete_connection_account wraps DELETE /api/account/{userId}/connections/{connId}/accounts/{acctId}
|
|
4
|
+
// get_orphaned_trades_count wraps GET /api/journal/orphaned-trades-count
|
|
5
|
+
// delete_orphaned_trades wraps DELETE /api/journal/orphaned-trades
|
|
6
|
+
// set_account_delete_pref wraps PATCH /api/auth/me (autoDeleteJournalOnAccountDelete)
|
|
7
|
+
//
|
|
8
|
+
// VantageClient.delete now accepts an optional body so the two DELETE-with-body
|
|
9
|
+
// endpoints work without inlining fetch().
|
|
10
|
+
import { makeErrorResult } from "../user.js";
|
|
11
|
+
export async function deleteConnectionAccount(client, resolver, input) {
|
|
12
|
+
try {
|
|
13
|
+
const userId = await resolver.resolve(client);
|
|
14
|
+
const connectionId = Number(input.connectionId);
|
|
15
|
+
const accountId = Number(input.accountId);
|
|
16
|
+
const retention = String(input.journalRetention ?? "");
|
|
17
|
+
if (!Number.isFinite(connectionId) || connectionId <= 0)
|
|
18
|
+
return makeErrorResult(new Error("connectionId must be a positive integer"));
|
|
19
|
+
if (!Number.isFinite(accountId) || accountId <= 0)
|
|
20
|
+
return makeErrorResult(new Error("accountId must be a positive integer"));
|
|
21
|
+
if (retention !== "keep" && retention !== "delete")
|
|
22
|
+
return makeErrorResult(new Error("journalRetention must be 'keep' or 'delete'"));
|
|
23
|
+
const res = await client.delete(`/api/account/${userId}/connections/${connectionId}/accounts/${accountId}`, { journalRetention: retention });
|
|
24
|
+
const kept = res.tradesRetained ?? 0;
|
|
25
|
+
const gone = res.tradesDeleted ?? 0;
|
|
26
|
+
const groups = res.groupsModified ?? [];
|
|
27
|
+
const groupsMsg = groups.length > 0 ? ` Removed from groups: ${groups.join(", ")}.` : "";
|
|
28
|
+
const summary = retention === "delete"
|
|
29
|
+
? `Account ${accountId} deleted. ${gone} journal trade(s) removed.${groupsMsg}`
|
|
30
|
+
: `Account ${accountId} deleted. ${kept} journal trade(s) kept as unlinked.${groupsMsg}`;
|
|
31
|
+
return {
|
|
32
|
+
content: [
|
|
33
|
+
{ type: "text", text: summary },
|
|
34
|
+
{ type: "text", text: JSON.stringify(res, null, 2) },
|
|
35
|
+
],
|
|
36
|
+
};
|
|
37
|
+
}
|
|
38
|
+
catch (err) {
|
|
39
|
+
return makeErrorResult(err);
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
export async function getOrphanedTradesCount(client, _resolver, _input) {
|
|
43
|
+
try {
|
|
44
|
+
const res = await client.get("/api/journal/orphaned-trades-count");
|
|
45
|
+
const count = res.count ?? 0;
|
|
46
|
+
return {
|
|
47
|
+
content: [
|
|
48
|
+
{ type: "text", text: `${count} unlinked trade(s) (retained from a deleted account).` },
|
|
49
|
+
{ type: "text", text: JSON.stringify(res, null, 2) },
|
|
50
|
+
],
|
|
51
|
+
};
|
|
52
|
+
}
|
|
53
|
+
catch (err) {
|
|
54
|
+
return makeErrorResult(err);
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
export async function deleteOrphanedTrades(client, _resolver, input) {
|
|
58
|
+
try {
|
|
59
|
+
if (input.confirm !== "DELETE")
|
|
60
|
+
return makeErrorResult(new Error('confirm must equal the literal string "DELETE"'));
|
|
61
|
+
const res = await client.delete("/api/journal/orphaned-trades", { confirm: "DELETE" });
|
|
62
|
+
const n = res.deleted ?? 0;
|
|
63
|
+
return {
|
|
64
|
+
content: [
|
|
65
|
+
{ type: "text", text: `Deleted ${n} unlinked trade row(s).` },
|
|
66
|
+
{ type: "text", text: JSON.stringify(res, null, 2) },
|
|
67
|
+
],
|
|
68
|
+
};
|
|
69
|
+
}
|
|
70
|
+
catch (err) {
|
|
71
|
+
return makeErrorResult(err);
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
export async function setAccountDeletePref(client, _resolver, input) {
|
|
75
|
+
try {
|
|
76
|
+
if (typeof input.autoDeleteJournalOnAccountDelete !== "boolean")
|
|
77
|
+
return makeErrorResult(new Error("autoDeleteJournalOnAccountDelete must be true or false"));
|
|
78
|
+
const res = await client.patch("/api/auth/me", { autoDeleteJournalOnAccountDelete: input.autoDeleteJournalOnAccountDelete });
|
|
79
|
+
const v = res.autoDeleteJournalOnAccountDelete;
|
|
80
|
+
const word = v ? "delete" : "keep";
|
|
81
|
+
return {
|
|
82
|
+
content: [
|
|
83
|
+
{ type: "text", text: `Default journal retention on account-delete: ${word}.` },
|
|
84
|
+
{ type: "text", text: JSON.stringify(res, null, 2) },
|
|
85
|
+
],
|
|
86
|
+
};
|
|
87
|
+
}
|
|
88
|
+
catch (err) {
|
|
89
|
+
return makeErrorResult(err);
|
|
90
|
+
}
|
|
91
|
+
}
|
|
92
|
+
//# sourceMappingURL=account-deletion.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"account-deletion.js","sourceRoot":"","sources":["../../src/tools/account-deletion.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { VantageClient } from "../client.js";
|
|
2
|
+
import { UserResolver, ToolResult } from "../user.js";
|
|
3
|
+
/**
|
|
4
|
+
* ACCT-HEALTH PR-4 — fetch the derived account-health banner data for one
|
|
5
|
+
* account. Mirrors the GET endpoint at
|
|
6
|
+
* /api/account/{userId}/connections/{connId}/accounts/{brokerAccountKey}/health
|
|
7
|
+
* Used by agents that need to know "is this account tradable right now" before
|
|
8
|
+
* routing a signal.
|
|
9
|
+
*/
|
|
10
|
+
export declare function getAccountHealth(client: VantageClient, resolver: UserResolver, input: Record<string, unknown>): Promise<ToolResult>;
|
|
11
|
+
/**
|
|
12
|
+
* ACCT-HEALTH PR-4 — admin-only PATCH of the manual health override. Body
|
|
13
|
+
* shape:
|
|
14
|
+
* { kind: "blown" | "ok" | null, reason?, expiresAt? }
|
|
15
|
+
* - "blown" is indefinite.
|
|
16
|
+
* - "ok" requires a future expiresAt — if the agent omits it, this tool
|
|
17
|
+
* defaults to +24h to satisfy server-side validation while still respecting
|
|
18
|
+
* the architect R5 anti-footgun rule.
|
|
19
|
+
* - null clears the override.
|
|
20
|
+
*/
|
|
21
|
+
export declare function setAccountHealthOverride(client: VantageClient, resolver: UserResolver, input: Record<string, unknown>): Promise<ToolResult>;
|
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
import { makeErrorResult } from "../user.js";
|
|
2
|
+
/**
|
|
3
|
+
* ACCT-HEALTH PR-4 — fetch the derived account-health banner data for one
|
|
4
|
+
* account. Mirrors the GET endpoint at
|
|
5
|
+
* /api/account/{userId}/connections/{connId}/accounts/{brokerAccountKey}/health
|
|
6
|
+
* Used by agents that need to know "is this account tradable right now" before
|
|
7
|
+
* routing a signal.
|
|
8
|
+
*/
|
|
9
|
+
export async function getAccountHealth(client, resolver, input) {
|
|
10
|
+
try {
|
|
11
|
+
const userId = await resolver.resolve(client);
|
|
12
|
+
const connId = Number(input.connId);
|
|
13
|
+
const acctKey = String(input.brokerAccountKey ?? "");
|
|
14
|
+
if (!Number.isFinite(connId) || connId <= 0)
|
|
15
|
+
return { content: [{ type: "text", text: "connId must be a positive integer." }], isError: true };
|
|
16
|
+
if (!acctKey)
|
|
17
|
+
return { content: [{ type: "text", text: "brokerAccountKey is required." }], isError: true };
|
|
18
|
+
const data = await client.get(`/api/account/${userId}/connections/${connId}/accounts/${encodeURIComponent(acctKey)}/health`);
|
|
19
|
+
const stateEmoji = {
|
|
20
|
+
ok: "🟢",
|
|
21
|
+
blown: "🔴",
|
|
22
|
+
unreachable: "🟡",
|
|
23
|
+
unknown: "⚪",
|
|
24
|
+
}[data.state];
|
|
25
|
+
const lines = [
|
|
26
|
+
`${stateEmoji} **${data.state.toUpperCase()}** — account ${acctKey} (conn ${connId})`,
|
|
27
|
+
];
|
|
28
|
+
if (data.headline)
|
|
29
|
+
lines.push(`> ${data.headline}`);
|
|
30
|
+
if (data.detail)
|
|
31
|
+
lines.push(`> ${data.detail}`);
|
|
32
|
+
if (data.overrideKind) {
|
|
33
|
+
const exp = data.overrideExpiresAt ? ` until ${data.overrideExpiresAt}` : " (indefinite)";
|
|
34
|
+
lines.push(`- Manual override: \`${data.overrideKind}\`${exp}`);
|
|
35
|
+
if (data.overrideReason)
|
|
36
|
+
lines.push(`- Override reason: ${data.overrideReason}`);
|
|
37
|
+
}
|
|
38
|
+
if (data.lastBrokerContactAt)
|
|
39
|
+
lines.push(`- Last broker contact: ${data.lastBrokerContactAt}`);
|
|
40
|
+
return { content: [{ type: "text", text: lines.join("\n") }] };
|
|
41
|
+
}
|
|
42
|
+
catch (e) {
|
|
43
|
+
return makeErrorResult(e);
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
/**
|
|
47
|
+
* ACCT-HEALTH PR-4 — admin-only PATCH of the manual health override. Body
|
|
48
|
+
* shape:
|
|
49
|
+
* { kind: "blown" | "ok" | null, reason?, expiresAt? }
|
|
50
|
+
* - "blown" is indefinite.
|
|
51
|
+
* - "ok" requires a future expiresAt — if the agent omits it, this tool
|
|
52
|
+
* defaults to +24h to satisfy server-side validation while still respecting
|
|
53
|
+
* the architect R5 anti-footgun rule.
|
|
54
|
+
* - null clears the override.
|
|
55
|
+
*/
|
|
56
|
+
export async function setAccountHealthOverride(client, resolver, input) {
|
|
57
|
+
try {
|
|
58
|
+
const userId = await resolver.resolve(client);
|
|
59
|
+
const i = input;
|
|
60
|
+
const connId = Number(i.connId);
|
|
61
|
+
const acctKey = String(i.brokerAccountKey ?? "");
|
|
62
|
+
if (!Number.isFinite(connId) || connId <= 0)
|
|
63
|
+
return { content: [{ type: "text", text: "connId must be a positive integer." }], isError: true };
|
|
64
|
+
if (!acctKey)
|
|
65
|
+
return { content: [{ type: "text", text: "brokerAccountKey is required." }], isError: true };
|
|
66
|
+
if (i.kind !== null && i.kind !== "blown" && i.kind !== "ok" && i.kind !== undefined)
|
|
67
|
+
return { content: [{ type: "text", text: "kind must be 'blown', 'ok', or null." }], isError: true };
|
|
68
|
+
let expiresAt = i.expiresAt ?? null;
|
|
69
|
+
if (i.kind === "ok" && !expiresAt) {
|
|
70
|
+
// Default to +24h so the call doesn't fail server-side validation while
|
|
71
|
+
// still enforcing R5 (no indefinite 'ok' overrides).
|
|
72
|
+
expiresAt = new Date(Date.now() + 24 * 3600 * 1000).toISOString();
|
|
73
|
+
}
|
|
74
|
+
await client.patch(`/api/account/${userId}/connections/${connId}/accounts/${encodeURIComponent(acctKey)}/health-override`, { kind: i.kind ?? null, reason: i.reason ?? null, expiresAt });
|
|
75
|
+
const summary = i.kind
|
|
76
|
+
? `Override set: \`${i.kind}\`${expiresAt ? ` (expires ${expiresAt})` : " (indefinite)"}.`
|
|
77
|
+
: "Override cleared.";
|
|
78
|
+
return { content: [{ type: "text", text: summary }] };
|
|
79
|
+
}
|
|
80
|
+
catch (e) {
|
|
81
|
+
return makeErrorResult(e);
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
//# sourceMappingURL=account-health.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"account-health.js","sourceRoot":"","sources":["../../src/tools/account-health.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { VantageClient } from "../client.js";
|
|
2
|
+
import { UserResolver, ToolResult } from "../user.js";
|
|
3
|
+
export declare function getBalance(client: VantageClient, resolver: UserResolver, _input: Record<string, unknown>): Promise<ToolResult>;
|
|
4
|
+
export declare function getPositions(client: VantageClient, resolver: UserResolver, _input: Record<string, unknown>): Promise<ToolResult>;
|
|
5
|
+
export declare function getOrderHistory(client: VantageClient, resolver: UserResolver, input: Record<string, unknown>): Promise<ToolResult>;
|
|
6
|
+
/**
|
|
7
|
+
* LBENCH-01: forensic post-trade order lookup by submission-time window.
|
|
8
|
+
* Calls the new `/orders/submission-window` controller endpoint. Returns
|
|
9
|
+
* broker-recorded orders (Working/Filled/Cancelled/Rejected) on a specific
|
|
10
|
+
* connection-account between sinceUtc and untilUtc. Used by the manual-execute
|
|
11
|
+
* latency benchmark suite.
|
|
12
|
+
*/
|
|
13
|
+
export declare function getBrokerOrderHistory(client: VantageClient, resolver: UserResolver, input: Record<string, unknown>): Promise<ToolResult>;
|
|
14
|
+
export declare function getMarketPrice(client: VantageClient, _resolver: UserResolver, input: Record<string, unknown>): Promise<ToolResult>;
|
|
15
|
+
export declare function getAlerts(client: VantageClient, resolver: UserResolver, input: Record<string, unknown>): Promise<ToolResult>;
|
|
16
|
+
export declare function ackAlert(client: VantageClient, resolver: UserResolver, input: Record<string, unknown>): Promise<ToolResult>;
|
|
17
|
+
export declare function getBilling(client: VantageClient, resolver: UserResolver, _input: Record<string, unknown>): Promise<ToolResult>;
|
|
18
|
+
export declare function getBillingPortal(client: VantageClient, resolver: UserResolver, _input: Record<string, unknown>): Promise<ToolResult>;
|
|
19
|
+
export declare function getSignalBrokerLogs(client: VantageClient, _resolver: UserResolver, input: Record<string, unknown>): Promise<ToolResult>;
|
|
@@ -0,0 +1,291 @@
|
|
|
1
|
+
import { makeErrorResult } from "../user.js";
|
|
2
|
+
export async function getBalance(client, resolver, _input) {
|
|
3
|
+
try {
|
|
4
|
+
const userId = await resolver.resolve(client);
|
|
5
|
+
const res = await client.get(`/api/account/${userId}/balance`);
|
|
6
|
+
const accounts = res.accounts ?? [];
|
|
7
|
+
if (!accounts.length) {
|
|
8
|
+
return {
|
|
9
|
+
content: [
|
|
10
|
+
{ type: "text", text: "No account balance data available." },
|
|
11
|
+
{ type: "text", text: JSON.stringify(res, null, 2) },
|
|
12
|
+
],
|
|
13
|
+
};
|
|
14
|
+
}
|
|
15
|
+
const lines = accounts.map((a) => {
|
|
16
|
+
const parts = [`• ${a.accountSpec ?? "?"}`];
|
|
17
|
+
if (a.cashBalance != null)
|
|
18
|
+
parts.push(`cash=${a.cashBalance.toFixed(2)}`);
|
|
19
|
+
if (a.openPnl != null)
|
|
20
|
+
parts.push(`openPnl=${a.openPnl >= 0 ? "+" : ""}${a.openPnl.toFixed(2)}`);
|
|
21
|
+
if (a.marginUsed != null)
|
|
22
|
+
parts.push(`margin=${a.marginUsed.toFixed(2)}`);
|
|
23
|
+
if (a.totalEquity != null)
|
|
24
|
+
parts.push(`equity=${a.totalEquity.toFixed(2)}`);
|
|
25
|
+
return parts.join(" ");
|
|
26
|
+
});
|
|
27
|
+
return {
|
|
28
|
+
content: [
|
|
29
|
+
{ type: "text", text: `${accounts.length} account(s):\n${lines.join("\n")}` },
|
|
30
|
+
{ type: "text", text: JSON.stringify(res, null, 2) },
|
|
31
|
+
],
|
|
32
|
+
};
|
|
33
|
+
}
|
|
34
|
+
catch (err) {
|
|
35
|
+
return makeErrorResult(err);
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
export async function getPositions(client, resolver, _input) {
|
|
39
|
+
try {
|
|
40
|
+
const userId = await resolver.resolve(client);
|
|
41
|
+
const positions = await client.get(`/api/account/${userId}/positions`);
|
|
42
|
+
if (!positions.length) {
|
|
43
|
+
return {
|
|
44
|
+
content: [
|
|
45
|
+
{ type: "text", text: "No open positions — all accounts are flat." },
|
|
46
|
+
{ type: "text", text: "[]" },
|
|
47
|
+
],
|
|
48
|
+
};
|
|
49
|
+
}
|
|
50
|
+
const lines = positions.map((p) => {
|
|
51
|
+
const side = p.netPos != null ? (p.netPos > 0 ? "LONG" : "SHORT") : (p.side ?? "?");
|
|
52
|
+
const qty = p.netPos != null ? Math.abs(p.netPos) : "?";
|
|
53
|
+
const pnl = p.openPnl != null ? ` openPnl=${p.openPnl >= 0 ? "+" : ""}${p.openPnl.toFixed(2)}` : "";
|
|
54
|
+
return `• ${p.accountSpec ?? "?"} ${p.ticker ?? "?"} ${side} ${qty} @ ${p.avgPrice ?? "?"}${pnl}`;
|
|
55
|
+
});
|
|
56
|
+
return {
|
|
57
|
+
content: [
|
|
58
|
+
{ type: "text", text: `${positions.length} open position(s):\n${lines.join("\n")}` },
|
|
59
|
+
{ type: "text", text: JSON.stringify(positions, null, 2) },
|
|
60
|
+
],
|
|
61
|
+
};
|
|
62
|
+
}
|
|
63
|
+
catch (err) {
|
|
64
|
+
return makeErrorResult(err);
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
export async function getOrderHistory(client, resolver, input) {
|
|
68
|
+
const groupId = String(input.groupId ?? "");
|
|
69
|
+
if (!groupId)
|
|
70
|
+
return makeErrorResult(new Error("groupId is required"));
|
|
71
|
+
try {
|
|
72
|
+
const userId = await resolver.resolve(client);
|
|
73
|
+
const params = new URLSearchParams();
|
|
74
|
+
if (input.limit)
|
|
75
|
+
params.set("limit", String(input.limit));
|
|
76
|
+
const qs = params.toString() ? `?${params}` : "";
|
|
77
|
+
const orders = await client.get(`/api/account/${userId}/groups/${groupId}/orders${qs}`);
|
|
78
|
+
if (!orders.length) {
|
|
79
|
+
return {
|
|
80
|
+
content: [
|
|
81
|
+
{ type: "text", text: "No orders found for this group." },
|
|
82
|
+
{ type: "text", text: "[]" },
|
|
83
|
+
],
|
|
84
|
+
};
|
|
85
|
+
}
|
|
86
|
+
const lines = orders.map((o) => `• [${o.createdAt ?? "?"}] ${o.action ?? "?"} ${o.ticker ?? "?"} ` +
|
|
87
|
+
`${o.orderType ?? "market"} qty=${o.qty ?? "?"} ` +
|
|
88
|
+
`fill=${o.fillPrice ?? "pending"} status=${o.status ?? "?"}`);
|
|
89
|
+
return {
|
|
90
|
+
content: [
|
|
91
|
+
{ type: "text", text: `${orders.length} order(s):\n${lines.join("\n")}` },
|
|
92
|
+
{ type: "text", text: JSON.stringify(orders, null, 2) },
|
|
93
|
+
],
|
|
94
|
+
};
|
|
95
|
+
}
|
|
96
|
+
catch (err) {
|
|
97
|
+
return makeErrorResult(err);
|
|
98
|
+
}
|
|
99
|
+
}
|
|
100
|
+
/**
|
|
101
|
+
* LBENCH-01: forensic post-trade order lookup by submission-time window.
|
|
102
|
+
* Calls the new `/orders/submission-window` controller endpoint. Returns
|
|
103
|
+
* broker-recorded orders (Working/Filled/Cancelled/Rejected) on a specific
|
|
104
|
+
* connection-account between sinceUtc and untilUtc. Used by the manual-execute
|
|
105
|
+
* latency benchmark suite.
|
|
106
|
+
*/
|
|
107
|
+
export async function getBrokerOrderHistory(client, resolver, input) {
|
|
108
|
+
const connectionId = Number(input.connectionId);
|
|
109
|
+
const accountId = String(input.accountId ?? "");
|
|
110
|
+
const sinceUtc = String(input.sinceUtc ?? "");
|
|
111
|
+
if (!Number.isFinite(connectionId) || connectionId <= 0)
|
|
112
|
+
return makeErrorResult(new Error("connectionId is required (positive integer)"));
|
|
113
|
+
if (!accountId)
|
|
114
|
+
return makeErrorResult(new Error("accountId is required (broker-native account spec string)"));
|
|
115
|
+
if (!sinceUtc)
|
|
116
|
+
return makeErrorResult(new Error("sinceUtc is required (ISO 8601 timestamp)"));
|
|
117
|
+
try {
|
|
118
|
+
const userId = await resolver.resolve(client);
|
|
119
|
+
const params = new URLSearchParams();
|
|
120
|
+
params.set("since", sinceUtc);
|
|
121
|
+
if (input.untilUtc)
|
|
122
|
+
params.set("until", String(input.untilUtc));
|
|
123
|
+
if (input.filter)
|
|
124
|
+
params.set("filter", String(input.filter));
|
|
125
|
+
if (input.limit)
|
|
126
|
+
params.set("limit", String(input.limit));
|
|
127
|
+
const path = `/api/account/${userId}/connections/${connectionId}/accounts/` +
|
|
128
|
+
`${encodeURIComponent(accountId)}/orders/submission-window?${params}`;
|
|
129
|
+
const orders = await client.get(path);
|
|
130
|
+
if (!orders.length) {
|
|
131
|
+
return {
|
|
132
|
+
content: [
|
|
133
|
+
{ type: "text", text: `No orders found in submission window since ${sinceUtc} on connection=${connectionId} account=${accountId}.` },
|
|
134
|
+
{ type: "text", text: "[]" },
|
|
135
|
+
],
|
|
136
|
+
};
|
|
137
|
+
}
|
|
138
|
+
const lines = orders.map((o) => `• [${o.placementTime ?? "?"}] orderId=${o.orderId ?? "?"} ` +
|
|
139
|
+
`${o.action ?? "?"} ${o.symbol ?? "?"} ${o.orderType ?? "?"} ` +
|
|
140
|
+
`qty=${o.orderQty ?? "?"} stop=${o.stopPrice ?? "-"} limit=${o.price ?? "-"} ` +
|
|
141
|
+
`status=${o.ordStatus ?? "?"}` +
|
|
142
|
+
(o.parentId ? ` parent=${o.parentId}` : ""));
|
|
143
|
+
return {
|
|
144
|
+
content: [
|
|
145
|
+
{ type: "text", text: `${orders.length} order(s) on connection=${connectionId} account=${accountId} since ${sinceUtc}:\n${lines.join("\n")}` },
|
|
146
|
+
{ type: "text", text: JSON.stringify(orders, null, 2) },
|
|
147
|
+
],
|
|
148
|
+
};
|
|
149
|
+
}
|
|
150
|
+
catch (err) {
|
|
151
|
+
return makeErrorResult(err);
|
|
152
|
+
}
|
|
153
|
+
}
|
|
154
|
+
export async function getMarketPrice(client, _resolver, input) {
|
|
155
|
+
const groupId = String(input.groupId ?? "");
|
|
156
|
+
const secret = String(input.secret ?? "");
|
|
157
|
+
const ticker = String(input.ticker ?? "");
|
|
158
|
+
if (!groupId || !secret || !ticker)
|
|
159
|
+
return makeErrorResult(new Error("groupId, secret, and ticker are required"));
|
|
160
|
+
try {
|
|
161
|
+
const res = await client.getWebhook(groupId, secret, `market-price/${encodeURIComponent(ticker)}`);
|
|
162
|
+
const parts = [`${ticker}:`];
|
|
163
|
+
if (res.last != null)
|
|
164
|
+
parts.push(`last=${res.last}`);
|
|
165
|
+
if (res.bid != null)
|
|
166
|
+
parts.push(`bid=${res.bid}`);
|
|
167
|
+
if (res.ask != null)
|
|
168
|
+
parts.push(`ask=${res.ask}`);
|
|
169
|
+
if (res.timestamp)
|
|
170
|
+
parts.push(`at ${res.timestamp}`);
|
|
171
|
+
return {
|
|
172
|
+
content: [
|
|
173
|
+
{ type: "text", text: parts.join(" ") },
|
|
174
|
+
{ type: "text", text: JSON.stringify(res, null, 2) },
|
|
175
|
+
],
|
|
176
|
+
};
|
|
177
|
+
}
|
|
178
|
+
catch (err) {
|
|
179
|
+
return makeErrorResult(err);
|
|
180
|
+
}
|
|
181
|
+
}
|
|
182
|
+
export async function getAlerts(client, resolver, input) {
|
|
183
|
+
try {
|
|
184
|
+
const userId = await resolver.resolve(client);
|
|
185
|
+
const params = new URLSearchParams();
|
|
186
|
+
if (input.unreadOnly)
|
|
187
|
+
params.set("unreadOnly", "true");
|
|
188
|
+
const qs = params.toString() ? `?${params}` : "";
|
|
189
|
+
const alerts = await client.get(`/api/account/${userId}/alerts${qs}`);
|
|
190
|
+
if (!alerts.length) {
|
|
191
|
+
return {
|
|
192
|
+
content: [
|
|
193
|
+
{ type: "text", text: "No alerts." },
|
|
194
|
+
{ type: "text", text: "[]" },
|
|
195
|
+
],
|
|
196
|
+
};
|
|
197
|
+
}
|
|
198
|
+
const unread = alerts.filter((a) => !a.isRead);
|
|
199
|
+
const lines = alerts.map((a) => `• [${a.createdAt ?? "?"}] ${a.isRead ? "" : "🔵 "}${a.type ?? "info"}: ${a.message ?? ""}`);
|
|
200
|
+
return {
|
|
201
|
+
content: [
|
|
202
|
+
{ type: "text", text: `${alerts.length} alert(s), ${unread.length} unread:\n${lines.join("\n")}` },
|
|
203
|
+
{ type: "text", text: JSON.stringify(alerts, null, 2) },
|
|
204
|
+
],
|
|
205
|
+
};
|
|
206
|
+
}
|
|
207
|
+
catch (err) {
|
|
208
|
+
return makeErrorResult(err);
|
|
209
|
+
}
|
|
210
|
+
}
|
|
211
|
+
export async function ackAlert(client, resolver, input) {
|
|
212
|
+
const alertId = String(input.alertId ?? "");
|
|
213
|
+
if (!alertId)
|
|
214
|
+
return makeErrorResult(new Error("alertId is required"));
|
|
215
|
+
try {
|
|
216
|
+
const userId = await resolver.resolve(client);
|
|
217
|
+
await client.post(`/api/account/${userId}/alerts/${alertId}/ack`, {});
|
|
218
|
+
return {
|
|
219
|
+
content: [{ type: "text", text: `Alert ${alertId} acknowledged.` }],
|
|
220
|
+
};
|
|
221
|
+
}
|
|
222
|
+
catch (err) {
|
|
223
|
+
return makeErrorResult(err);
|
|
224
|
+
}
|
|
225
|
+
}
|
|
226
|
+
export async function getBilling(client, resolver, _input) {
|
|
227
|
+
try {
|
|
228
|
+
const userId = await resolver.resolve(client);
|
|
229
|
+
const billing = await client.get(`/api/account/${userId}/billing`);
|
|
230
|
+
const lines = [`Status: ${billing.status ?? "unknown"}`];
|
|
231
|
+
if (billing.currentPeriodEnd)
|
|
232
|
+
lines.push(`Renews: ${billing.currentPeriodEnd}`);
|
|
233
|
+
if (billing.trialEndsAt)
|
|
234
|
+
lines.push(`Trial ends: ${billing.trialEndsAt}`);
|
|
235
|
+
if (billing.cancelAtPeriodEnd)
|
|
236
|
+
lines.push("Cancel at period end: yes");
|
|
237
|
+
if (billing.quantity != null)
|
|
238
|
+
lines.push(`Seats: ${billing.quantity}`);
|
|
239
|
+
return {
|
|
240
|
+
content: [
|
|
241
|
+
{ type: "text", text: lines.join("\n") },
|
|
242
|
+
{ type: "text", text: JSON.stringify(billing, null, 2) },
|
|
243
|
+
],
|
|
244
|
+
};
|
|
245
|
+
}
|
|
246
|
+
catch (err) {
|
|
247
|
+
return makeErrorResult(err);
|
|
248
|
+
}
|
|
249
|
+
}
|
|
250
|
+
export async function getBillingPortal(client, resolver, _input) {
|
|
251
|
+
try {
|
|
252
|
+
const userId = await resolver.resolve(client);
|
|
253
|
+
const res = await client.get(`/api/account/${userId}/billing-portal`);
|
|
254
|
+
return {
|
|
255
|
+
content: [
|
|
256
|
+
{ type: "text", text: `Open this URL to manage your subscription:\n${res.url}` },
|
|
257
|
+
{ type: "text", text: JSON.stringify(res, null, 2) },
|
|
258
|
+
],
|
|
259
|
+
};
|
|
260
|
+
}
|
|
261
|
+
catch (err) {
|
|
262
|
+
return makeErrorResult(err);
|
|
263
|
+
}
|
|
264
|
+
}
|
|
265
|
+
export async function getSignalBrokerLogs(client, _resolver, input) {
|
|
266
|
+
const signalId = String(input.signalId ?? "");
|
|
267
|
+
if (!signalId)
|
|
268
|
+
return makeErrorResult(new Error("signalId is required"));
|
|
269
|
+
try {
|
|
270
|
+
const logs = await client.get(`/api/signals/${signalId}/broker-logs`);
|
|
271
|
+
if (!logs.length) {
|
|
272
|
+
return {
|
|
273
|
+
content: [
|
|
274
|
+
{ type: "text", text: `No broker logs available for signal ${signalId}.` },
|
|
275
|
+
{ type: "text", text: "[]" },
|
|
276
|
+
],
|
|
277
|
+
};
|
|
278
|
+
}
|
|
279
|
+
const lines = logs.map((l) => `• [${l.timestamp ?? "?"}] ${l.direction ?? "?"} ${l.endpoint ?? "?"} → ${l.statusCode ?? "?"}`);
|
|
280
|
+
return {
|
|
281
|
+
content: [
|
|
282
|
+
{ type: "text", text: `${logs.length} broker log entry(ies) for signal ${signalId}:\n${lines.join("\n")}` },
|
|
283
|
+
{ type: "text", text: JSON.stringify(logs, null, 2) },
|
|
284
|
+
],
|
|
285
|
+
};
|
|
286
|
+
}
|
|
287
|
+
catch (err) {
|
|
288
|
+
return makeErrorResult(err);
|
|
289
|
+
}
|
|
290
|
+
}
|
|
291
|
+
//# sourceMappingURL=account.js.map
|