@marketmotion/cli 0.1.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 +151 -0
- package/dist/bin/motion.d.ts +3 -0
- package/dist/bin/motion.d.ts.map +1 -0
- package/dist/bin/motion.js +42 -0
- package/dist/bin/motion.js.map +1 -0
- package/dist/src/client/api.d.ts +120 -0
- package/dist/src/client/api.d.ts.map +1 -0
- package/dist/src/client/api.js +212 -0
- package/dist/src/client/api.js.map +1 -0
- package/dist/src/commands/alerts.d.ts +3 -0
- package/dist/src/commands/alerts.d.ts.map +1 -0
- package/dist/src/commands/alerts.js +128 -0
- package/dist/src/commands/alerts.js.map +1 -0
- package/dist/src/commands/arb.d.ts +3 -0
- package/dist/src/commands/arb.d.ts.map +1 -0
- package/dist/src/commands/arb.js +61 -0
- package/dist/src/commands/arb.js.map +1 -0
- package/dist/src/commands/auth.d.ts +3 -0
- package/dist/src/commands/auth.d.ts.map +1 -0
- package/dist/src/commands/auth.js +116 -0
- package/dist/src/commands/auth.js.map +1 -0
- package/dist/src/commands/entities.d.ts +3 -0
- package/dist/src/commands/entities.d.ts.map +1 -0
- package/dist/src/commands/entities.js +56 -0
- package/dist/src/commands/entities.js.map +1 -0
- package/dist/src/commands/entity.d.ts +3 -0
- package/dist/src/commands/entity.d.ts.map +1 -0
- package/dist/src/commands/entity.js +58 -0
- package/dist/src/commands/entity.js.map +1 -0
- package/dist/src/commands/graph.d.ts +3 -0
- package/dist/src/commands/graph.d.ts.map +1 -0
- package/dist/src/commands/graph.js +48 -0
- package/dist/src/commands/graph.js.map +1 -0
- package/dist/src/commands/markets.d.ts +3 -0
- package/dist/src/commands/markets.d.ts.map +1 -0
- package/dist/src/commands/markets.js +132 -0
- package/dist/src/commands/markets.js.map +1 -0
- package/dist/src/commands/news.d.ts +3 -0
- package/dist/src/commands/news.d.ts.map +1 -0
- package/dist/src/commands/news.js +88 -0
- package/dist/src/commands/news.js.map +1 -0
- package/dist/src/commands/webhook.d.ts +3 -0
- package/dist/src/commands/webhook.d.ts.map +1 -0
- package/dist/src/commands/webhook.js +165 -0
- package/dist/src/commands/webhook.js.map +1 -0
- package/dist/src/config.d.ts +14 -0
- package/dist/src/config.d.ts.map +1 -0
- package/dist/src/config.js +27 -0
- package/dist/src/config.js.map +1 -0
- package/dist/src/formatters/json.d.ts +2 -0
- package/dist/src/formatters/json.d.ts.map +1 -0
- package/dist/src/formatters/json.js +4 -0
- package/dist/src/formatters/json.js.map +1 -0
- package/dist/src/formatters/table.d.ts +11 -0
- package/dist/src/formatters/table.d.ts.map +1 -0
- package/dist/src/formatters/table.js +554 -0
- package/dist/src/formatters/table.js.map +1 -0
- package/dist/src/types.d.ts +243 -0
- package/dist/src/types.d.ts.map +1 -0
- package/dist/src/types.js +3 -0
- package/dist/src/types.js.map +1 -0
- package/dist/src/ui/AlertFeed.d.ts +8 -0
- package/dist/src/ui/AlertFeed.d.ts.map +1 -0
- package/dist/src/ui/AlertFeed.js +68 -0
- package/dist/src/ui/AlertFeed.js.map +1 -0
- package/dist/src/ui/ArbPanel.d.ts +8 -0
- package/dist/src/ui/ArbPanel.d.ts.map +1 -0
- package/dist/src/ui/ArbPanel.js +61 -0
- package/dist/src/ui/ArbPanel.js.map +1 -0
- package/dist/src/ui/Dashboard.d.ts +2 -0
- package/dist/src/ui/Dashboard.d.ts.map +1 -0
- package/dist/src/ui/Dashboard.js +127 -0
- package/dist/src/ui/Dashboard.js.map +1 -0
- package/dist/src/ui/EntityDetail.d.ts +8 -0
- package/dist/src/ui/EntityDetail.d.ts.map +1 -0
- package/dist/src/ui/EntityDetail.js +152 -0
- package/dist/src/ui/EntityDetail.js.map +1 -0
- package/dist/src/ui/MarketTable.d.ts +9 -0
- package/dist/src/ui/MarketTable.d.ts.map +1 -0
- package/dist/src/ui/MarketTable.js +90 -0
- package/dist/src/ui/MarketTable.js.map +1 -0
- package/dist/src/ui/Spinner.d.ts +7 -0
- package/dist/src/ui/Spinner.d.ts.map +1 -0
- package/dist/src/ui/Spinner.js +7 -0
- package/dist/src/ui/Spinner.js.map +1 -0
- package/dist/src/utils/auth.d.ts +4 -0
- package/dist/src/utils/auth.d.ts.map +1 -0
- package/dist/src/utils/auth.js +17 -0
- package/dist/src/utils/auth.js.map +1 -0
- package/package.json +70 -0
package/README.md
ADDED
|
@@ -0,0 +1,151 @@
|
|
|
1
|
+
# @marketmotion/cli
|
|
2
|
+
|
|
3
|
+
Intelligence terminal for prediction markets. Search 17,000+ entities, scan cross-venue arbitrage, monitor real-time alerts, and explore the entity graph — all from your terminal.
|
|
4
|
+
|
|
5
|
+
[](https://www.npmjs.com/package/@marketmotion/cli)
|
|
6
|
+
|
|
7
|
+
## Install
|
|
8
|
+
|
|
9
|
+
```bash
|
|
10
|
+
npm install -g @marketmotion/cli
|
|
11
|
+
```
|
|
12
|
+
|
|
13
|
+
## Quick Start
|
|
14
|
+
|
|
15
|
+
1. Get your API key at [marketmotion.xyz/developer](https://marketmotion.xyz/developer)
|
|
16
|
+
2. Authenticate:
|
|
17
|
+
```bash
|
|
18
|
+
motion auth login <your-api-key>
|
|
19
|
+
```
|
|
20
|
+
3. Start exploring:
|
|
21
|
+
```bash
|
|
22
|
+
motion entities search "LeBron James"
|
|
23
|
+
motion markets trending
|
|
24
|
+
motion arb scan --min-spread 3
|
|
25
|
+
```
|
|
26
|
+
|
|
27
|
+
## Commands
|
|
28
|
+
|
|
29
|
+
| Command | Description |
|
|
30
|
+
|---------|-------------|
|
|
31
|
+
| `motion auth login <key>` | Authenticate with your API key |
|
|
32
|
+
| `motion auth logout` | Remove stored credentials |
|
|
33
|
+
| `motion auth status` | Show current auth status and usage |
|
|
34
|
+
| `motion auth signup` | Open the developer portal to get an API key |
|
|
35
|
+
| `motion entities search <query>` | Search 17K+ entities (people, teams, orgs, assets) |
|
|
36
|
+
| `motion entity <slug>` | Get detailed entity profile with attributes |
|
|
37
|
+
| `motion markets trending` | Top trending and high-volume markets |
|
|
38
|
+
| `motion markets search <query>` | Search markets across Polymarket, Kalshi, Hyperliquid |
|
|
39
|
+
| `motion markets filter` | Filter markets by category and sort |
|
|
40
|
+
| `motion alerts list` | List recent alerts (injury, arb, political, etc.) |
|
|
41
|
+
| `motion alerts watch` | Live alert feed with polling |
|
|
42
|
+
| `motion arb scan` | Scan for cross-venue mispricings |
|
|
43
|
+
| `motion news trending` | Top market-relevant news |
|
|
44
|
+
| `motion news entity <name>` | News for a specific entity |
|
|
45
|
+
| `motion graph <slug>` | Explore entity relationship graph |
|
|
46
|
+
| `motion webhook list` | List configured webhooks |
|
|
47
|
+
| `motion webhook create <url>` | Create a webhook endpoint |
|
|
48
|
+
| `motion webhook delete <id>` | Delete a webhook |
|
|
49
|
+
| `motion dashboard` | Interactive TUI dashboard |
|
|
50
|
+
|
|
51
|
+
All commands support `--json` for raw JSON output and `--help` for usage details.
|
|
52
|
+
|
|
53
|
+
## Authentication
|
|
54
|
+
|
|
55
|
+
Market Motion CLI requires an API key for all data commands. Keys are created through the developer portal.
|
|
56
|
+
|
|
57
|
+
1. Visit [marketmotion.xyz/developer](https://marketmotion.xyz/developer)
|
|
58
|
+
2. Create a free account and generate an API key
|
|
59
|
+
3. Run `motion auth login <key>` or set `MOTION_API_KEY` as an environment variable
|
|
60
|
+
|
|
61
|
+
```bash
|
|
62
|
+
# Store key in config
|
|
63
|
+
motion auth login mt_live_abc123
|
|
64
|
+
|
|
65
|
+
# Or use environment variable
|
|
66
|
+
export MOTION_API_KEY=mt_live_abc123
|
|
67
|
+
|
|
68
|
+
# Or pipe it in
|
|
69
|
+
echo "mt_live_abc123" | motion auth login
|
|
70
|
+
```
|
|
71
|
+
|
|
72
|
+
## Configuration
|
|
73
|
+
|
|
74
|
+
| Variable | Description | Default |
|
|
75
|
+
|----------|-------------|---------|
|
|
76
|
+
| `MOTION_API_KEY` | API key (overrides stored config) | — |
|
|
77
|
+
| `MOTION_API_URL` | Base API URL | `https://api.marketmotion.xyz` |
|
|
78
|
+
|
|
79
|
+
Config is stored at `~/.config/motion/config.json` (managed by the `conf` package).
|
|
80
|
+
|
|
81
|
+
## Examples
|
|
82
|
+
|
|
83
|
+
### Entity Intelligence
|
|
84
|
+
|
|
85
|
+
```bash
|
|
86
|
+
# Search entities across categories
|
|
87
|
+
motion entities search "Trump" --category politics
|
|
88
|
+
motion entities search "Bitcoin" --type asset
|
|
89
|
+
|
|
90
|
+
# Get full entity profile
|
|
91
|
+
motion entity donald-trump
|
|
92
|
+
motion entity nba-lal --markets --json
|
|
93
|
+
```
|
|
94
|
+
|
|
95
|
+
### Market Discovery
|
|
96
|
+
|
|
97
|
+
```bash
|
|
98
|
+
# Browse trending markets
|
|
99
|
+
motion markets trending
|
|
100
|
+
|
|
101
|
+
# Search across venues
|
|
102
|
+
motion markets search "election" --venue polymarket
|
|
103
|
+
|
|
104
|
+
# Filter and sort
|
|
105
|
+
motion markets filter --category crypto --sort volume --limit 10
|
|
106
|
+
```
|
|
107
|
+
|
|
108
|
+
### Arbitrage Scanning
|
|
109
|
+
|
|
110
|
+
```bash
|
|
111
|
+
# Find mispricings across Polymarket + Kalshi
|
|
112
|
+
motion arb scan --min-spread 3 --actionable
|
|
113
|
+
|
|
114
|
+
# Filter by category
|
|
115
|
+
motion arb scan --category politics --min-spread 5
|
|
116
|
+
```
|
|
117
|
+
|
|
118
|
+
### Real-Time Alerts
|
|
119
|
+
|
|
120
|
+
```bash
|
|
121
|
+
# Latest alerts
|
|
122
|
+
motion alerts list --type injury
|
|
123
|
+
|
|
124
|
+
# Live feed
|
|
125
|
+
motion alerts watch --type arbitrage,injury --interval 15
|
|
126
|
+
```
|
|
127
|
+
|
|
128
|
+
### Entity Graph
|
|
129
|
+
|
|
130
|
+
```bash
|
|
131
|
+
# Explore relationships
|
|
132
|
+
motion graph donald-trump --depth 2
|
|
133
|
+
|
|
134
|
+
# JSON output for piping
|
|
135
|
+
motion graph nba-lal --json | jq '.nodes | length'
|
|
136
|
+
```
|
|
137
|
+
|
|
138
|
+
### Webhooks
|
|
139
|
+
|
|
140
|
+
```bash
|
|
141
|
+
# Set up real-time event delivery
|
|
142
|
+
motion webhook create https://api.example.com/hooks --events alert.injury,alert.arbitrage
|
|
143
|
+
motion webhook list
|
|
144
|
+
motion webhook deliveries <webhook-id>
|
|
145
|
+
```
|
|
146
|
+
|
|
147
|
+
## Links
|
|
148
|
+
|
|
149
|
+
- [API Documentation](https://docs.marketmotion.xyz)
|
|
150
|
+
- [Web App](https://marketmotion.xyz)
|
|
151
|
+
- [Developer Portal](https://marketmotion.xyz/developer)
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"motion.d.ts","sourceRoot":"","sources":["../../bin/motion.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
import { Command } from 'commander';
|
|
3
|
+
import { registerAuthCommand } from '../src/commands/auth.js';
|
|
4
|
+
import { registerEntitiesCommand } from '../src/commands/entities.js';
|
|
5
|
+
import { registerEntityCommand } from '../src/commands/entity.js';
|
|
6
|
+
import { registerMarketsCommand } from '../src/commands/markets.js';
|
|
7
|
+
import { registerAlertsCommand } from '../src/commands/alerts.js';
|
|
8
|
+
import { registerArbCommand } from '../src/commands/arb.js';
|
|
9
|
+
import { registerNewsCommand } from '../src/commands/news.js';
|
|
10
|
+
import { registerGraphCommand } from '../src/commands/graph.js';
|
|
11
|
+
import { registerWebhookCommand } from '../src/commands/webhook.js';
|
|
12
|
+
import { requireAuth } from '../src/utils/auth.js';
|
|
13
|
+
const program = new Command();
|
|
14
|
+
program
|
|
15
|
+
.name('motion')
|
|
16
|
+
.description('Market Motion CLI — Intelligence terminal for prediction markets')
|
|
17
|
+
.version('0.1.0');
|
|
18
|
+
// Register all commands
|
|
19
|
+
registerAuthCommand(program);
|
|
20
|
+
registerEntitiesCommand(program);
|
|
21
|
+
registerEntityCommand(program);
|
|
22
|
+
registerMarketsCommand(program);
|
|
23
|
+
registerAlertsCommand(program);
|
|
24
|
+
registerArbCommand(program);
|
|
25
|
+
registerNewsCommand(program);
|
|
26
|
+
registerGraphCommand(program);
|
|
27
|
+
registerWebhookCommand(program);
|
|
28
|
+
// Dashboard command (lazy-loaded since it pulls in ink/react)
|
|
29
|
+
program
|
|
30
|
+
.command('dashboard')
|
|
31
|
+
.description('Interactive TUI dashboard')
|
|
32
|
+
.action(async () => {
|
|
33
|
+
requireAuth();
|
|
34
|
+
const { renderDashboard } = await import('../src/ui/Dashboard.js');
|
|
35
|
+
renderDashboard();
|
|
36
|
+
});
|
|
37
|
+
// If no command given, show help
|
|
38
|
+
program.parse(process.argv);
|
|
39
|
+
if (program.args.length === 0 && process.argv.length <= 2) {
|
|
40
|
+
program.help();
|
|
41
|
+
}
|
|
42
|
+
//# sourceMappingURL=motion.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"motion.js","sourceRoot":"","sources":["../../bin/motion.ts"],"names":[],"mappings":";AAEA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAC9D,OAAO,EAAE,uBAAuB,EAAE,MAAM,6BAA6B,CAAC;AACtE,OAAO,EAAE,qBAAqB,EAAE,MAAM,2BAA2B,CAAC;AAClE,OAAO,EAAE,sBAAsB,EAAE,MAAM,4BAA4B,CAAC;AACpE,OAAO,EAAE,qBAAqB,EAAE,MAAM,2BAA2B,CAAC;AAClE,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAC5D,OAAO,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAC9D,OAAO,EAAE,oBAAoB,EAAE,MAAM,0BAA0B,CAAC;AAChE,OAAO,EAAE,sBAAsB,EAAE,MAAM,4BAA4B,CAAC;AACpE,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAEnD,MAAM,OAAO,GAAG,IAAI,OAAO,EAAE,CAAC;AAE9B,OAAO;KACJ,IAAI,CAAC,QAAQ,CAAC;KACd,WAAW,CAAC,kEAAkE,CAAC;KAC/E,OAAO,CAAC,OAAO,CAAC,CAAC;AAEpB,wBAAwB;AACxB,mBAAmB,CAAC,OAAO,CAAC,CAAC;AAC7B,uBAAuB,CAAC,OAAO,CAAC,CAAC;AACjC,qBAAqB,CAAC,OAAO,CAAC,CAAC;AAC/B,sBAAsB,CAAC,OAAO,CAAC,CAAC;AAChC,qBAAqB,CAAC,OAAO,CAAC,CAAC;AAC/B,kBAAkB,CAAC,OAAO,CAAC,CAAC;AAC5B,mBAAmB,CAAC,OAAO,CAAC,CAAC;AAC7B,oBAAoB,CAAC,OAAO,CAAC,CAAC;AAC9B,sBAAsB,CAAC,OAAO,CAAC,CAAC;AAEhC,8DAA8D;AAC9D,OAAO;KACJ,OAAO,CAAC,WAAW,CAAC;KACpB,WAAW,CAAC,2BAA2B,CAAC;KACxC,MAAM,CAAC,KAAK,IAAI,EAAE;IACjB,WAAW,EAAE,CAAC;IACd,MAAM,EAAE,eAAe,EAAE,GAAG,MAAM,MAAM,CAAC,wBAAwB,CAAC,CAAC;IACnE,eAAe,EAAE,CAAC;AACpB,CAAC,CAAC,CAAC;AAEL,iCAAiC;AACjC,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;AAE5B,IAAI,OAAO,CAAC,IAAI,CAAC,MAAM,KAAK,CAAC,IAAI,OAAO,CAAC,IAAI,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC;IAC1D,OAAO,CAAC,IAAI,EAAE,CAAC;AACjB,CAAC"}
|
|
@@ -0,0 +1,120 @@
|
|
|
1
|
+
import type { EntityFullResponse, EntitySearchResult, CuratedMarkets, MarketFilterResult, MarketSearchResult, AlertInbox, NewsItem, GraphResult, MispricingResult, Webhook, WebhookDelivery, MoversResult, ApiKeyInfo } from '../types.js';
|
|
2
|
+
export declare class ApiError extends Error {
|
|
3
|
+
status: number;
|
|
4
|
+
body?: unknown | undefined;
|
|
5
|
+
constructor(status: number, message: string, body?: unknown | undefined);
|
|
6
|
+
}
|
|
7
|
+
export declare class MotionClient {
|
|
8
|
+
private apiKey;
|
|
9
|
+
private baseUrl;
|
|
10
|
+
constructor(apiKey?: string, baseUrl?: string);
|
|
11
|
+
private request;
|
|
12
|
+
validateKey(): Promise<{
|
|
13
|
+
success: boolean;
|
|
14
|
+
key?: ApiKeyInfo;
|
|
15
|
+
}>;
|
|
16
|
+
searchEntities(q: string, opts?: {
|
|
17
|
+
category?: string;
|
|
18
|
+
type?: string;
|
|
19
|
+
limit?: number;
|
|
20
|
+
cursor?: string;
|
|
21
|
+
}): Promise<EntitySearchResult>;
|
|
22
|
+
getEntity(slug: string): Promise<EntityFullResponse>;
|
|
23
|
+
getEntityGraph(slug: string, opts?: {
|
|
24
|
+
depth?: number;
|
|
25
|
+
includeMarkets?: boolean;
|
|
26
|
+
maxNodes?: number;
|
|
27
|
+
}): Promise<GraphResult>;
|
|
28
|
+
getEntityRelated(slug: string, opts?: {
|
|
29
|
+
depth?: number;
|
|
30
|
+
types?: string;
|
|
31
|
+
}): Promise<{
|
|
32
|
+
success: boolean;
|
|
33
|
+
entity: unknown;
|
|
34
|
+
relatedEntities: unknown[];
|
|
35
|
+
}>;
|
|
36
|
+
getCuratedMarkets(): Promise<CuratedMarkets>;
|
|
37
|
+
searchMarkets(q: string, opts?: {
|
|
38
|
+
venue?: string;
|
|
39
|
+
limit?: number;
|
|
40
|
+
}): Promise<MarketSearchResult>;
|
|
41
|
+
filterMarkets(opts?: {
|
|
42
|
+
category?: string;
|
|
43
|
+
sort?: string;
|
|
44
|
+
order?: string;
|
|
45
|
+
search?: string;
|
|
46
|
+
type?: string;
|
|
47
|
+
limit?: number;
|
|
48
|
+
offset?: number;
|
|
49
|
+
}): Promise<MarketFilterResult>;
|
|
50
|
+
getAlerts(opts?: {
|
|
51
|
+
type?: string;
|
|
52
|
+
limit?: number;
|
|
53
|
+
offset?: number;
|
|
54
|
+
}): Promise<{
|
|
55
|
+
success: boolean;
|
|
56
|
+
data: AlertInbox;
|
|
57
|
+
}>;
|
|
58
|
+
getTrendingNews(limit?: number): Promise<{
|
|
59
|
+
success: boolean;
|
|
60
|
+
data: NewsItem[];
|
|
61
|
+
}>;
|
|
62
|
+
getEntityNews(slugOrName: string, opts?: {
|
|
63
|
+
limit?: number;
|
|
64
|
+
}): Promise<{
|
|
65
|
+
success: boolean;
|
|
66
|
+
data: {
|
|
67
|
+
entity: {
|
|
68
|
+
slug: string;
|
|
69
|
+
displayName: string;
|
|
70
|
+
};
|
|
71
|
+
items: NewsItem[];
|
|
72
|
+
total: number;
|
|
73
|
+
};
|
|
74
|
+
}>;
|
|
75
|
+
getMovers(opts?: {
|
|
76
|
+
scope?: string;
|
|
77
|
+
window?: number;
|
|
78
|
+
limit?: number;
|
|
79
|
+
}): Promise<MoversResult>;
|
|
80
|
+
getMispricings(opts?: {
|
|
81
|
+
minSpread?: number;
|
|
82
|
+
category?: string;
|
|
83
|
+
limit?: number;
|
|
84
|
+
actionableOnly?: boolean;
|
|
85
|
+
}): Promise<MispricingResult>;
|
|
86
|
+
getEntityNeighborhood(entityId: string, opts?: {
|
|
87
|
+
depth?: number;
|
|
88
|
+
limit?: number;
|
|
89
|
+
}): Promise<MoversResult>;
|
|
90
|
+
listWebhooks(): Promise<{
|
|
91
|
+
success: boolean;
|
|
92
|
+
data: Webhook[];
|
|
93
|
+
}>;
|
|
94
|
+
createWebhook(url: string, events: string[], description?: string): Promise<{
|
|
95
|
+
success: boolean;
|
|
96
|
+
data: {
|
|
97
|
+
id: string;
|
|
98
|
+
secret: string;
|
|
99
|
+
message: string;
|
|
100
|
+
};
|
|
101
|
+
}>;
|
|
102
|
+
deleteWebhook(id: string): Promise<{
|
|
103
|
+
success: boolean;
|
|
104
|
+
message: string;
|
|
105
|
+
}>;
|
|
106
|
+
getWebhookDeliveries(id: string, opts?: {
|
|
107
|
+
limit?: number;
|
|
108
|
+
offset?: number;
|
|
109
|
+
}): Promise<{
|
|
110
|
+
success: boolean;
|
|
111
|
+
data: WebhookDelivery[];
|
|
112
|
+
pagination: {
|
|
113
|
+
limit: number;
|
|
114
|
+
offset: number;
|
|
115
|
+
total: number;
|
|
116
|
+
};
|
|
117
|
+
}>;
|
|
118
|
+
}
|
|
119
|
+
export declare function createClient(apiKey?: string, baseUrl?: string): MotionClient;
|
|
120
|
+
//# sourceMappingURL=api.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"api.d.ts","sourceRoot":"","sources":["../../../src/client/api.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,212 @@
|
|
|
1
|
+
import { getApiKey, getBaseUrl } from '../config.js';
|
|
2
|
+
export class ApiError extends Error {
|
|
3
|
+
status;
|
|
4
|
+
body;
|
|
5
|
+
constructor(status, message, body) {
|
|
6
|
+
super(message);
|
|
7
|
+
this.status = status;
|
|
8
|
+
this.body = body;
|
|
9
|
+
this.name = 'ApiError';
|
|
10
|
+
}
|
|
11
|
+
}
|
|
12
|
+
export class MotionClient {
|
|
13
|
+
apiKey;
|
|
14
|
+
baseUrl;
|
|
15
|
+
constructor(apiKey, baseUrl) {
|
|
16
|
+
this.apiKey = apiKey || getApiKey() || '';
|
|
17
|
+
this.baseUrl = baseUrl || getBaseUrl();
|
|
18
|
+
}
|
|
19
|
+
async request(path, options = {}) {
|
|
20
|
+
const url = `${this.baseUrl}${path}`;
|
|
21
|
+
const headers = {
|
|
22
|
+
'Content-Type': 'application/json',
|
|
23
|
+
...options.headers,
|
|
24
|
+
};
|
|
25
|
+
if (this.apiKey) {
|
|
26
|
+
headers['X-API-Key'] = this.apiKey;
|
|
27
|
+
}
|
|
28
|
+
const response = await fetch(url, {
|
|
29
|
+
...options,
|
|
30
|
+
headers,
|
|
31
|
+
});
|
|
32
|
+
if (!response.ok) {
|
|
33
|
+
let body;
|
|
34
|
+
try {
|
|
35
|
+
body = await response.json();
|
|
36
|
+
}
|
|
37
|
+
catch {
|
|
38
|
+
body = await response.text();
|
|
39
|
+
}
|
|
40
|
+
if (response.status === 401) {
|
|
41
|
+
throw new ApiError(401, 'Authentication required. Run: motion auth login');
|
|
42
|
+
}
|
|
43
|
+
if (response.status === 403) {
|
|
44
|
+
throw new ApiError(403, 'Permission denied. Your API key may not have access to this resource.');
|
|
45
|
+
}
|
|
46
|
+
if (response.status === 429) {
|
|
47
|
+
throw new ApiError(429, 'Rate limit exceeded. Please try again later.');
|
|
48
|
+
}
|
|
49
|
+
throw new ApiError(response.status, `API error: ${response.status} ${response.statusText}`, body);
|
|
50
|
+
}
|
|
51
|
+
return response.json();
|
|
52
|
+
}
|
|
53
|
+
// ─── Auth ──────────────────────────────────────────────────────────────
|
|
54
|
+
async validateKey() {
|
|
55
|
+
try {
|
|
56
|
+
const res = await this.request('/api/developer/keys');
|
|
57
|
+
return { success: true, key: res.keys?.[0] };
|
|
58
|
+
}
|
|
59
|
+
catch (err) {
|
|
60
|
+
if (err instanceof ApiError && err.status === 401) {
|
|
61
|
+
return { success: false };
|
|
62
|
+
}
|
|
63
|
+
throw err;
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
// ─── Entities ──────────────────────────────────────────────────────────
|
|
67
|
+
async searchEntities(q, opts) {
|
|
68
|
+
const params = new URLSearchParams({ q });
|
|
69
|
+
if (opts?.category)
|
|
70
|
+
params.set('category', opts.category);
|
|
71
|
+
if (opts?.type)
|
|
72
|
+
params.set('type', opts.type);
|
|
73
|
+
if (opts?.limit)
|
|
74
|
+
params.set('limit', String(opts.limit));
|
|
75
|
+
if (opts?.cursor)
|
|
76
|
+
params.set('cursor', opts.cursor);
|
|
77
|
+
return this.request(`/api/entities?${params}`);
|
|
78
|
+
}
|
|
79
|
+
async getEntity(slug) {
|
|
80
|
+
return this.request(`/api/entities/${encodeURIComponent(slug)}/full?marketLimit=100`);
|
|
81
|
+
}
|
|
82
|
+
async getEntityGraph(slug, opts) {
|
|
83
|
+
const params = new URLSearchParams();
|
|
84
|
+
if (opts?.depth)
|
|
85
|
+
params.set('depth', String(opts.depth));
|
|
86
|
+
if (opts?.includeMarkets !== undefined)
|
|
87
|
+
params.set('includeMarkets', String(opts.includeMarkets));
|
|
88
|
+
if (opts?.maxNodes)
|
|
89
|
+
params.set('maxNodes', String(opts.maxNodes));
|
|
90
|
+
return this.request(`/api/entities/${encodeURIComponent(slug)}/graph?${params}`);
|
|
91
|
+
}
|
|
92
|
+
async getEntityRelated(slug, opts) {
|
|
93
|
+
const params = new URLSearchParams();
|
|
94
|
+
if (opts?.depth)
|
|
95
|
+
params.set('depth', String(opts.depth));
|
|
96
|
+
if (opts?.types)
|
|
97
|
+
params.set('types', opts.types);
|
|
98
|
+
return this.request(`/api/entities/${encodeURIComponent(slug)}/related?${params}`);
|
|
99
|
+
}
|
|
100
|
+
// ─── Markets ───────────────────────────────────────────────────────────
|
|
101
|
+
async getCuratedMarkets() {
|
|
102
|
+
return this.request('/api/markets/curated');
|
|
103
|
+
}
|
|
104
|
+
async searchMarkets(q, opts) {
|
|
105
|
+
const params = new URLSearchParams({ q });
|
|
106
|
+
if (opts?.venue)
|
|
107
|
+
params.set('venue', opts.venue);
|
|
108
|
+
if (opts?.limit)
|
|
109
|
+
params.set('limit', String(opts.limit));
|
|
110
|
+
return this.request(`/api/markets/search?${params}`);
|
|
111
|
+
}
|
|
112
|
+
async filterMarkets(opts) {
|
|
113
|
+
const params = new URLSearchParams();
|
|
114
|
+
if (opts?.category)
|
|
115
|
+
params.set('category', opts.category);
|
|
116
|
+
if (opts?.sort)
|
|
117
|
+
params.set('sort', opts.sort);
|
|
118
|
+
if (opts?.order)
|
|
119
|
+
params.set('order', opts.order);
|
|
120
|
+
if (opts?.search)
|
|
121
|
+
params.set('search', opts.search);
|
|
122
|
+
if (opts?.type)
|
|
123
|
+
params.set('type', opts.type);
|
|
124
|
+
if (opts?.limit)
|
|
125
|
+
params.set('limit', String(opts.limit));
|
|
126
|
+
if (opts?.offset)
|
|
127
|
+
params.set('offset', String(opts.offset));
|
|
128
|
+
return this.request(`/api/markets/filter?${params}`);
|
|
129
|
+
}
|
|
130
|
+
// ─── Alerts ────────────────────────────────────────────────────────────
|
|
131
|
+
async getAlerts(opts) {
|
|
132
|
+
const params = new URLSearchParams();
|
|
133
|
+
if (opts?.type)
|
|
134
|
+
params.set('type', opts.type);
|
|
135
|
+
if (opts?.limit)
|
|
136
|
+
params.set('limit', String(opts.limit));
|
|
137
|
+
if (opts?.offset)
|
|
138
|
+
params.set('offset', String(opts.offset));
|
|
139
|
+
return this.request(`/api/alerts/inbox?${params}`);
|
|
140
|
+
}
|
|
141
|
+
// ─── News ──────────────────────────────────────────────────────────────
|
|
142
|
+
async getTrendingNews(limit) {
|
|
143
|
+
const params = new URLSearchParams();
|
|
144
|
+
if (limit)
|
|
145
|
+
params.set('limit', String(limit));
|
|
146
|
+
return this.request(`/api/news/trending?${params}`);
|
|
147
|
+
}
|
|
148
|
+
async getEntityNews(slugOrName, opts) {
|
|
149
|
+
const params = new URLSearchParams();
|
|
150
|
+
if (opts?.limit)
|
|
151
|
+
params.set('limit', String(opts.limit));
|
|
152
|
+
return this.request(`/api/news/entity/${encodeURIComponent(slugOrName)}?${params}`);
|
|
153
|
+
}
|
|
154
|
+
// ─── Graph / Movers / Mispricings ─────────────────────────────────────
|
|
155
|
+
async getMovers(opts) {
|
|
156
|
+
const params = new URLSearchParams();
|
|
157
|
+
if (opts?.scope)
|
|
158
|
+
params.set('scope', opts.scope);
|
|
159
|
+
if (opts?.window)
|
|
160
|
+
params.set('window', String(opts.window));
|
|
161
|
+
if (opts?.limit)
|
|
162
|
+
params.set('limit', String(opts.limit));
|
|
163
|
+
return this.request(`/api/graph/movers?${params}`);
|
|
164
|
+
}
|
|
165
|
+
async getMispricings(opts) {
|
|
166
|
+
const params = new URLSearchParams();
|
|
167
|
+
if (opts?.minSpread)
|
|
168
|
+
params.set('minSpread', String(opts.minSpread));
|
|
169
|
+
if (opts?.category)
|
|
170
|
+
params.set('category', opts.category);
|
|
171
|
+
if (opts?.limit)
|
|
172
|
+
params.set('limit', String(opts.limit));
|
|
173
|
+
if (opts?.actionableOnly)
|
|
174
|
+
params.set('actionableOnly', 'true');
|
|
175
|
+
return this.request(`/api/graph/mispricings?${params}`);
|
|
176
|
+
}
|
|
177
|
+
async getEntityNeighborhood(entityId, opts) {
|
|
178
|
+
const params = new URLSearchParams();
|
|
179
|
+
if (opts?.depth)
|
|
180
|
+
params.set('depth', String(opts.depth));
|
|
181
|
+
if (opts?.limit)
|
|
182
|
+
params.set('limit', String(opts.limit));
|
|
183
|
+
return this.request(`/api/graph/entity/${encodeURIComponent(entityId)}/neighborhood?${params}`);
|
|
184
|
+
}
|
|
185
|
+
// ─── Webhooks (B2B) ───────────────────────────────────────────────────
|
|
186
|
+
async listWebhooks() {
|
|
187
|
+
return this.request('/api/b2b/webhooks');
|
|
188
|
+
}
|
|
189
|
+
async createWebhook(url, events, description) {
|
|
190
|
+
return this.request('/api/b2b/webhooks', {
|
|
191
|
+
method: 'POST',
|
|
192
|
+
body: JSON.stringify({ url, events, description }),
|
|
193
|
+
});
|
|
194
|
+
}
|
|
195
|
+
async deleteWebhook(id) {
|
|
196
|
+
return this.request(`/api/b2b/webhooks/${encodeURIComponent(id)}`, {
|
|
197
|
+
method: 'DELETE',
|
|
198
|
+
});
|
|
199
|
+
}
|
|
200
|
+
async getWebhookDeliveries(id, opts) {
|
|
201
|
+
const params = new URLSearchParams();
|
|
202
|
+
if (opts?.limit)
|
|
203
|
+
params.set('limit', String(opts.limit));
|
|
204
|
+
if (opts?.offset)
|
|
205
|
+
params.set('offset', String(opts.offset));
|
|
206
|
+
return this.request(`/api/b2b/webhooks/${encodeURIComponent(id)}/deliveries?${params}`);
|
|
207
|
+
}
|
|
208
|
+
}
|
|
209
|
+
export function createClient(apiKey, baseUrl) {
|
|
210
|
+
return new MotionClient(apiKey, baseUrl);
|
|
211
|
+
}
|
|
212
|
+
//# sourceMappingURL=api.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"api.js","sourceRoot":"","sources":["../../../src/client/api.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"alerts.d.ts","sourceRoot":"","sources":["../../../src/commands/alerts.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAQpC,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAqI5D"}
|