@graphite-atlas/mcp-server 1.0.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/EXAMPLES.md +501 -0
- package/LICENSE +21 -0
- package/README.md +440 -0
- package/dist/client.d.ts +272 -0
- package/dist/client.d.ts.map +1 -0
- package/dist/client.js +335 -0
- package/dist/client.js.map +1 -0
- package/dist/index.d.ts +16 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +124 -0
- package/dist/index.js.map +1 -0
- package/dist/tools/analytics.d.ts +9 -0
- package/dist/tools/analytics.d.ts.map +1 -0
- package/dist/tools/analytics.js +374 -0
- package/dist/tools/analytics.js.map +1 -0
- package/dist/tools/atlases.d.ts +7 -0
- package/dist/tools/atlases.d.ts.map +1 -0
- package/dist/tools/atlases.js +132 -0
- package/dist/tools/atlases.js.map +1 -0
- package/dist/tools/batch.d.ts +10 -0
- package/dist/tools/batch.d.ts.map +1 -0
- package/dist/tools/batch.js +154 -0
- package/dist/tools/batch.js.map +1 -0
- package/dist/tools/brain-dump.d.ts +7 -0
- package/dist/tools/brain-dump.d.ts.map +1 -0
- package/dist/tools/brain-dump.js +98 -0
- package/dist/tools/brain-dump.js.map +1 -0
- package/dist/tools/index.d.ts +18 -0
- package/dist/tools/index.d.ts.map +1 -0
- package/dist/tools/index.js +29 -0
- package/dist/tools/index.js.map +1 -0
- package/dist/tools/mage.d.ts +10 -0
- package/dist/tools/mage.d.ts.map +1 -0
- package/dist/tools/mage.js +531 -0
- package/dist/tools/mage.js.map +1 -0
- package/dist/tools/paths.d.ts +7 -0
- package/dist/tools/paths.d.ts.map +1 -0
- package/dist/tools/paths.js +245 -0
- package/dist/tools/paths.js.map +1 -0
- package/dist/tools/points.d.ts +7 -0
- package/dist/tools/points.d.ts.map +1 -0
- package/dist/tools/points.js +225 -0
- package/dist/tools/points.js.map +1 -0
- package/dist/tools/validation.d.ts +9 -0
- package/dist/tools/validation.d.ts.map +1 -0
- package/dist/tools/validation.js +323 -0
- package/dist/tools/validation.js.map +1 -0
- package/dist/tools/views.d.ts +9 -0
- package/dist/tools/views.d.ts.map +1 -0
- package/dist/tools/views.js +335 -0
- package/dist/tools/views.js.map +1 -0
- package/package.json +62 -0
package/README.md
ADDED
|
@@ -0,0 +1,440 @@
|
|
|
1
|
+
# Graphite Atlas MCP Server
|
|
2
|
+
|
|
3
|
+
A [Model Context Protocol (MCP)](https://modelcontextprotocol.io) server that provides Claude and other AI assistants with access to your Graphite Atlas knowledge graphs.
|
|
4
|
+
|
|
5
|
+
## Features
|
|
6
|
+
|
|
7
|
+
- πΊοΈ **Atlas Management**: Create, read, update, and delete knowledge graphs
|
|
8
|
+
- π **Point Operations**: Add and manage nodes (entities) in your graphs
|
|
9
|
+
- π **Path Operations**: Create and manage edges (relationships) between points
|
|
10
|
+
- π§ **Brain Dump**: AI-powered graph generation from text
|
|
11
|
+
- π **Search**: Find points and paths across your atlases
|
|
12
|
+
|
|
13
|
+
## Installation
|
|
14
|
+
|
|
15
|
+
### From npm
|
|
16
|
+
|
|
17
|
+
```bash
|
|
18
|
+
npm install -g @graphite-atlas/mcp-server
|
|
19
|
+
```
|
|
20
|
+
|
|
21
|
+
### From source
|
|
22
|
+
|
|
23
|
+
```bash
|
|
24
|
+
cd mcp
|
|
25
|
+
npm install
|
|
26
|
+
npm run build
|
|
27
|
+
```
|
|
28
|
+
|
|
29
|
+
## Quick Start
|
|
30
|
+
|
|
31
|
+
### 1. Generate a JWT Token
|
|
32
|
+
|
|
33
|
+
Before using the MCP server, you need a JWT access token from Graphite Atlas:
|
|
34
|
+
|
|
35
|
+
1. **Log in** to https://graphiteatlas.com
|
|
36
|
+
2. **Navigate** to Profile β API Apps tab
|
|
37
|
+
3. **Create** a new API app:
|
|
38
|
+
- Click "New App"
|
|
39
|
+
- Name: "Claude Desktop MCP"
|
|
40
|
+
- Description: "MCP server for Claude Desktop integration"
|
|
41
|
+
- Click "Create App"
|
|
42
|
+
4. **Generate a JWT token**:
|
|
43
|
+
- Click "Generate Token" on your new app
|
|
44
|
+
- Token Name: "Claude Desktop"
|
|
45
|
+
- Environment: Production (or Development for testing)
|
|
46
|
+
- Scopes: Select the permissions you need (see [Scopes](#jwt-scopes) below)
|
|
47
|
+
- Recommended: Select "*" (Full Access) for easiest setup
|
|
48
|
+
- Or select specific scopes like `read:points`, `write:points`, `read:paths`, `write:paths`, etc.
|
|
49
|
+
- Expires In: 90 days (recommended)
|
|
50
|
+
- Click "Generate Token"
|
|
51
|
+
5. **Copy your JWT token**:
|
|
52
|
+
- The token will only be shown **once** - copy it immediately!
|
|
53
|
+
- You can also copy the auto-generated Claude Desktop config snippet
|
|
54
|
+
|
|
55
|
+
### 2. Configure Claude Desktop
|
|
56
|
+
|
|
57
|
+
Add the MCP server to your Claude Desktop configuration:
|
|
58
|
+
|
|
59
|
+
**macOS**: `~/Library/Application Support/Claude/claude_desktop_config.json`
|
|
60
|
+
|
|
61
|
+
**Windows**: `%APPDATA%\Claude\claude_desktop_config.json`
|
|
62
|
+
|
|
63
|
+
```json
|
|
64
|
+
{
|
|
65
|
+
"mcpServers": {
|
|
66
|
+
"graphite-atlas": {
|
|
67
|
+
"command": "npx",
|
|
68
|
+
"args": [
|
|
69
|
+
"@graphite-atlas/mcp-server"
|
|
70
|
+
],
|
|
71
|
+
"env": {
|
|
72
|
+
"GRAPHITE_ACCESS_TOKEN": "your_access_token_here",
|
|
73
|
+
"GRAPHITE_API_URL": "https://graphiteatlas.com/api"
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
```
|
|
79
|
+
|
|
80
|
+
Or if running from source:
|
|
81
|
+
|
|
82
|
+
```json
|
|
83
|
+
{
|
|
84
|
+
"mcpServers": {
|
|
85
|
+
"graphite-atlas": {
|
|
86
|
+
"command": "node",
|
|
87
|
+
"args": [
|
|
88
|
+
"/path/to/graphite_atlas/mcp/dist/index.js"
|
|
89
|
+
],
|
|
90
|
+
"env": {
|
|
91
|
+
"GRAPHITE_ACCESS_TOKEN": "your_access_token_here",
|
|
92
|
+
"GRAPHITE_API_URL": "https://graphiteatlas.com/api"
|
|
93
|
+
}
|
|
94
|
+
}
|
|
95
|
+
}
|
|
96
|
+
}
|
|
97
|
+
```
|
|
98
|
+
|
|
99
|
+
### 3. Restart Claude Desktop
|
|
100
|
+
|
|
101
|
+
Restart Claude Desktop to load the new MCP server.
|
|
102
|
+
|
|
103
|
+
### 4. Test It!
|
|
104
|
+
|
|
105
|
+
Ask Claude:
|
|
106
|
+
```
|
|
107
|
+
"List my Graphite Atlas knowledge graphs"
|
|
108
|
+
```
|
|
109
|
+
|
|
110
|
+
Claude should use the `list_atlases` tool to fetch and display your atlases.
|
|
111
|
+
|
|
112
|
+
## Available Tools
|
|
113
|
+
|
|
114
|
+
### Atlas Management
|
|
115
|
+
|
|
116
|
+
#### `list_atlases`
|
|
117
|
+
List all knowledge graphs owned by the user.
|
|
118
|
+
|
|
119
|
+
**Parameters**: None
|
|
120
|
+
|
|
121
|
+
**Example**:
|
|
122
|
+
```
|
|
123
|
+
"Show me all my atlases"
|
|
124
|
+
```
|
|
125
|
+
|
|
126
|
+
#### `get_atlas`
|
|
127
|
+
Get details of a specific atlas.
|
|
128
|
+
|
|
129
|
+
**Parameters**:
|
|
130
|
+
- `atlas_id` (string, required): The atlas ID
|
|
131
|
+
|
|
132
|
+
**Example**:
|
|
133
|
+
```
|
|
134
|
+
"Show me details for atlas abc-123"
|
|
135
|
+
```
|
|
136
|
+
|
|
137
|
+
#### `create_atlas`
|
|
138
|
+
Create a new knowledge graph.
|
|
139
|
+
|
|
140
|
+
**Parameters**:
|
|
141
|
+
- `name` (string, required): Atlas name
|
|
142
|
+
- `description` (string, optional): Atlas description
|
|
143
|
+
|
|
144
|
+
**Example**:
|
|
145
|
+
```
|
|
146
|
+
"Create a new atlas called 'Project Notes' for tracking my project ideas"
|
|
147
|
+
```
|
|
148
|
+
|
|
149
|
+
#### `update_atlas`
|
|
150
|
+
Update an atlas name or description.
|
|
151
|
+
|
|
152
|
+
**Parameters**:
|
|
153
|
+
- `atlas_id` (string, required): The atlas ID
|
|
154
|
+
- `name` (string, optional): New name
|
|
155
|
+
- `description` (string, optional): New description
|
|
156
|
+
|
|
157
|
+
#### `delete_atlas`
|
|
158
|
+
Delete an atlas permanently.
|
|
159
|
+
|
|
160
|
+
**Parameters**:
|
|
161
|
+
- `atlas_id` (string, required): The atlas ID
|
|
162
|
+
|
|
163
|
+
**β οΈ Warning**: This action cannot be undone.
|
|
164
|
+
|
|
165
|
+
### Point (Node) Operations
|
|
166
|
+
|
|
167
|
+
#### `list_points`
|
|
168
|
+
List all points in an atlas.
|
|
169
|
+
|
|
170
|
+
**Parameters**:
|
|
171
|
+
- `atlas_id` (string, required): The atlas ID
|
|
172
|
+
|
|
173
|
+
**Example**:
|
|
174
|
+
```
|
|
175
|
+
"Show me all points in my Project Notes atlas"
|
|
176
|
+
```
|
|
177
|
+
|
|
178
|
+
#### `get_point`
|
|
179
|
+
Get details of a specific point.
|
|
180
|
+
|
|
181
|
+
**Parameters**:
|
|
182
|
+
- `atlas_id` (string, required): The atlas ID
|
|
183
|
+
- `point_id` (string, required): The point ID
|
|
184
|
+
|
|
185
|
+
#### `create_point`
|
|
186
|
+
Create a new point (entity/concept).
|
|
187
|
+
|
|
188
|
+
**Parameters**:
|
|
189
|
+
- `atlas_id` (string, required): The atlas ID
|
|
190
|
+
- `name` (string, required): Point name
|
|
191
|
+
- `type` (string, required): Point type (e.g., "Person", "Company", "Concept")
|
|
192
|
+
- `properties` (object, optional): Additional properties
|
|
193
|
+
|
|
194
|
+
**Example**:
|
|
195
|
+
```
|
|
196
|
+
"In my Project Notes atlas, create a new point called 'AI Integration' of type 'Feature' with property 'priority' set to 'high'"
|
|
197
|
+
```
|
|
198
|
+
|
|
199
|
+
#### `update_point`
|
|
200
|
+
Update a point's name, type, or properties.
|
|
201
|
+
|
|
202
|
+
**Parameters**:
|
|
203
|
+
- `atlas_id` (string, required): The atlas ID
|
|
204
|
+
- `point_id` (string, required): The point ID
|
|
205
|
+
- `name` (string, optional): New name
|
|
206
|
+
- `type` (string, optional): New type
|
|
207
|
+
- `properties` (object, optional): Updated properties (merged)
|
|
208
|
+
|
|
209
|
+
#### `delete_point`
|
|
210
|
+
Delete a point from an atlas.
|
|
211
|
+
|
|
212
|
+
**Parameters**:
|
|
213
|
+
- `atlas_id` (string, required): The atlas ID
|
|
214
|
+
- `point_id` (string, required): The point ID
|
|
215
|
+
|
|
216
|
+
#### `search_points`
|
|
217
|
+
Search for points by name or type.
|
|
218
|
+
|
|
219
|
+
**Parameters**:
|
|
220
|
+
- `atlas_id` (string, required): The atlas ID
|
|
221
|
+
- `query` (string, required): Search query
|
|
222
|
+
|
|
223
|
+
**Example**:
|
|
224
|
+
```
|
|
225
|
+
"Search for all points related to 'AI' in my Project Notes atlas"
|
|
226
|
+
```
|
|
227
|
+
|
|
228
|
+
### Path (Relationship) Operations
|
|
229
|
+
|
|
230
|
+
#### `list_paths`
|
|
231
|
+
List all paths (relationships) in an atlas.
|
|
232
|
+
|
|
233
|
+
**Parameters**:
|
|
234
|
+
- `atlas_id` (string, required): The atlas ID
|
|
235
|
+
|
|
236
|
+
#### `get_path`
|
|
237
|
+
Get details of a specific path.
|
|
238
|
+
|
|
239
|
+
**Parameters**:
|
|
240
|
+
- `atlas_id` (string, required): The atlas ID
|
|
241
|
+
- `path_id` (string, required): The path ID
|
|
242
|
+
|
|
243
|
+
#### `create_path`
|
|
244
|
+
Create a new path between two points.
|
|
245
|
+
|
|
246
|
+
**Parameters**:
|
|
247
|
+
- `atlas_id` (string, required): The atlas ID
|
|
248
|
+
- `name` (string, required): Path name
|
|
249
|
+
- `type` (string, required): Path type (e.g., "KNOWS", "WORKS_AT", "DEPENDS_ON")
|
|
250
|
+
- `source_id` (string, required): Source point ID
|
|
251
|
+
- `target_id` (string, required): Target point ID
|
|
252
|
+
- `properties` (object, optional): Additional properties
|
|
253
|
+
|
|
254
|
+
**Example**:
|
|
255
|
+
```
|
|
256
|
+
"Create a 'DEPENDS_ON' relationship from 'AI Integration' feature to 'Database Upgrade' feature"
|
|
257
|
+
```
|
|
258
|
+
|
|
259
|
+
#### `update_path`
|
|
260
|
+
Update a path's name, type, or properties.
|
|
261
|
+
|
|
262
|
+
**Parameters**:
|
|
263
|
+
- `atlas_id` (string, required): The atlas ID
|
|
264
|
+
- `path_id` (string, required): The path ID
|
|
265
|
+
- `name` (string, optional): New name
|
|
266
|
+
- `type` (string, optional): New type
|
|
267
|
+
- `properties` (object, optional): Updated properties
|
|
268
|
+
|
|
269
|
+
#### `delete_path`
|
|
270
|
+
Delete a path from an atlas.
|
|
271
|
+
|
|
272
|
+
**Parameters**:
|
|
273
|
+
- `atlas_id` (string, required): The atlas ID
|
|
274
|
+
- `path_id` (string, required): The path ID
|
|
275
|
+
|
|
276
|
+
#### `search_paths`
|
|
277
|
+
Search for paths by name or type.
|
|
278
|
+
|
|
279
|
+
**Parameters**:
|
|
280
|
+
- `atlas_id` (string, required): The atlas ID
|
|
281
|
+
- `query` (string, required): Search query
|
|
282
|
+
|
|
283
|
+
### Brain Dump (AI Graph Generation)
|
|
284
|
+
|
|
285
|
+
#### `brain_dump`
|
|
286
|
+
Use AI to automatically generate a knowledge graph from text.
|
|
287
|
+
|
|
288
|
+
**Parameters**:
|
|
289
|
+
- `atlas_id` (string, required): The atlas ID to add generated graph to
|
|
290
|
+
- `text` (string, required): Text to analyze (notes, articles, transcripts)
|
|
291
|
+
- `process_name` (string, optional): Name for this brain dump process
|
|
292
|
+
|
|
293
|
+
**Example**:
|
|
294
|
+
```
|
|
295
|
+
"Take this meeting transcript and create a knowledge graph in my Project Notes atlas:
|
|
296
|
+
|
|
297
|
+
[Meeting notes about AI project planning, stakeholders, dependencies...]
|
|
298
|
+
"
|
|
299
|
+
```
|
|
300
|
+
|
|
301
|
+
#### `get_brain_dump_status`
|
|
302
|
+
Check the status of a brain dump operation.
|
|
303
|
+
|
|
304
|
+
**Parameters**:
|
|
305
|
+
- `operation_id` (string, required): Operation ID from brain_dump
|
|
306
|
+
|
|
307
|
+
**Example**:
|
|
308
|
+
```
|
|
309
|
+
"Check the status of brain dump operation op-xyz-789"
|
|
310
|
+
```
|
|
311
|
+
|
|
312
|
+
## JWT Scopes
|
|
313
|
+
|
|
314
|
+
When generating your JWT token, select the scopes you need:
|
|
315
|
+
|
|
316
|
+
| Scope | Required For | Description |
|
|
317
|
+
|-------|-------------|-------------|
|
|
318
|
+
| `*` | All operations | Full access to all resources (recommended for personal use) |
|
|
319
|
+
| `read:atlases` | List/get atlases | View your knowledge graphs |
|
|
320
|
+
| `write:atlases` | Create/update atlases | Create and modify atlases |
|
|
321
|
+
| `delete:atlases` | Delete atlases | Permanently delete atlases |
|
|
322
|
+
| `read:points` | List/get points | View nodes in your graphs |
|
|
323
|
+
| `write:points` | Create/update points | Add and modify nodes |
|
|
324
|
+
| `delete:points` | Delete points | Remove nodes |
|
|
325
|
+
| `read:paths` | List/get paths | View relationships |
|
|
326
|
+
| `write:paths` | Create/update paths | Add and modify relationships |
|
|
327
|
+
| `delete:paths` | Delete paths | Remove relationships |
|
|
328
|
+
| `read:schema` | Get schemas | View atlas ontology schemas |
|
|
329
|
+
| `use:llm` | Brain dump | AI-powered graph generation |
|
|
330
|
+
| `use:embeddings` | Semantic search | AI-powered semantic search |
|
|
331
|
+
|
|
332
|
+
**Recommended for personal use**:
|
|
333
|
+
```
|
|
334
|
+
* (Full Access)
|
|
335
|
+
```
|
|
336
|
+
|
|
337
|
+
**Recommended minimal scopes** for read-only access:
|
|
338
|
+
```
|
|
339
|
+
read:atlases read:points read:paths read:schema
|
|
340
|
+
```
|
|
341
|
+
|
|
342
|
+
**Recommended scopes** for full graph editing:
|
|
343
|
+
```
|
|
344
|
+
read:atlases write:atlases delete:atlases read:points write:points delete:points read:paths write:paths delete:paths read:schema use:llm
|
|
345
|
+
```
|
|
346
|
+
|
|
347
|
+
Or simply use wildcard patterns:
|
|
348
|
+
```
|
|
349
|
+
read:* write:* delete:*
|
|
350
|
+
```
|
|
351
|
+
|
|
352
|
+
## Environment Variables
|
|
353
|
+
|
|
354
|
+
| Variable | Description | Default |
|
|
355
|
+
|----------|-------------|---------|
|
|
356
|
+
| `GRAPHITE_ACCESS_TOKEN` | OAuth access token (required) | - |
|
|
357
|
+
| `GRAPHITE_API_URL` | Graphite Atlas API base URL | `https://graphiteatlas.com/api` |
|
|
358
|
+
|
|
359
|
+
## Development
|
|
360
|
+
|
|
361
|
+
### Build
|
|
362
|
+
|
|
363
|
+
```bash
|
|
364
|
+
npm run build
|
|
365
|
+
```
|
|
366
|
+
|
|
367
|
+
### Watch Mode
|
|
368
|
+
|
|
369
|
+
```bash
|
|
370
|
+
npm run watch
|
|
371
|
+
```
|
|
372
|
+
|
|
373
|
+
### Development Mode (with auto-reload)
|
|
374
|
+
|
|
375
|
+
```bash
|
|
376
|
+
npm run dev
|
|
377
|
+
```
|
|
378
|
+
|
|
379
|
+
### Linting
|
|
380
|
+
|
|
381
|
+
```bash
|
|
382
|
+
npm run lint
|
|
383
|
+
```
|
|
384
|
+
|
|
385
|
+
### Type Checking
|
|
386
|
+
|
|
387
|
+
```bash
|
|
388
|
+
npm run typecheck
|
|
389
|
+
```
|
|
390
|
+
|
|
391
|
+
## Troubleshooting
|
|
392
|
+
|
|
393
|
+
### "GRAPHITE_ACCESS_TOKEN environment variable is required"
|
|
394
|
+
|
|
395
|
+
You need to provide a valid OAuth access token. See [Quick Start](#quick-start) for instructions on getting one.
|
|
396
|
+
|
|
397
|
+
### "Failed to connect to Graphite Atlas API"
|
|
398
|
+
|
|
399
|
+
Check that:
|
|
400
|
+
1. Your access token is valid (not expired)
|
|
401
|
+
2. The API URL is correct
|
|
402
|
+
3. You have network connectivity
|
|
403
|
+
4. The Graphite Atlas API is operational
|
|
404
|
+
|
|
405
|
+
### "API Error (401): Unauthorized"
|
|
406
|
+
|
|
407
|
+
Your access token may be expired. Generate a new one using the refresh token flow or by reauthorizing.
|
|
408
|
+
|
|
409
|
+
### Tools not appearing in Claude Desktop
|
|
410
|
+
|
|
411
|
+
1. Check the Claude Desktop logs (Help β View Logs)
|
|
412
|
+
2. Verify your config file syntax is valid JSON
|
|
413
|
+
3. Restart Claude Desktop after config changes
|
|
414
|
+
4. Check that the MCP server is executable (`chmod +x dist/index.js` if needed)
|
|
415
|
+
|
|
416
|
+
## Security
|
|
417
|
+
|
|
418
|
+
- **Never commit** your access token to version control
|
|
419
|
+
- **Never share** your access token publicly
|
|
420
|
+
- **Rotate tokens** regularly
|
|
421
|
+
- **Use minimal scopes** required for your use case
|
|
422
|
+
- **Revoke unused** OAuth apps from Settings β Developer
|
|
423
|
+
|
|
424
|
+
## Contributing
|
|
425
|
+
|
|
426
|
+
Contributions welcome! Please open an issue or PR.
|
|
427
|
+
|
|
428
|
+
## License
|
|
429
|
+
|
|
430
|
+
MIT
|
|
431
|
+
|
|
432
|
+
## Support
|
|
433
|
+
|
|
434
|
+
- **Documentation**: https://docs.graphiteatlas.com
|
|
435
|
+
- **Issues**: https://github.com/graphite-atlas/mcp-server/issues
|
|
436
|
+
- **Email**: support@graphiteatlas.com
|
|
437
|
+
|
|
438
|
+
---
|
|
439
|
+
|
|
440
|
+
Built with β€οΈ by the Graphite Atlas team
|
package/dist/client.d.ts
ADDED
|
@@ -0,0 +1,272 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Graphite Atlas API Client
|
|
3
|
+
*
|
|
4
|
+
* Handles all HTTP communication with the Graphite Atlas API.
|
|
5
|
+
*/
|
|
6
|
+
export interface GraphiteAtlasClientConfig {
|
|
7
|
+
apiUrl: string;
|
|
8
|
+
accessToken: string;
|
|
9
|
+
}
|
|
10
|
+
export interface Atlas {
|
|
11
|
+
id: string;
|
|
12
|
+
name: string;
|
|
13
|
+
description?: string;
|
|
14
|
+
createdAt: string;
|
|
15
|
+
updatedAt: string;
|
|
16
|
+
}
|
|
17
|
+
export interface Point {
|
|
18
|
+
id: string;
|
|
19
|
+
name: string;
|
|
20
|
+
type: string;
|
|
21
|
+
properties: Record<string, unknown>;
|
|
22
|
+
atlasId: string;
|
|
23
|
+
createdAt: string;
|
|
24
|
+
updatedAt: string;
|
|
25
|
+
}
|
|
26
|
+
export interface Path {
|
|
27
|
+
id: string;
|
|
28
|
+
name: string;
|
|
29
|
+
type: string;
|
|
30
|
+
sourceId: string;
|
|
31
|
+
targetId: string;
|
|
32
|
+
source_name?: string;
|
|
33
|
+
target_name?: string;
|
|
34
|
+
properties: Record<string, unknown>;
|
|
35
|
+
atlasId: string;
|
|
36
|
+
createdAt: string;
|
|
37
|
+
updatedAt: string;
|
|
38
|
+
}
|
|
39
|
+
export interface BrainDumpResult {
|
|
40
|
+
operationId: string;
|
|
41
|
+
status: 'pending' | 'processing' | 'completed' | 'failed';
|
|
42
|
+
points?: Point[];
|
|
43
|
+
paths?: Path[];
|
|
44
|
+
}
|
|
45
|
+
export interface View {
|
|
46
|
+
id: string;
|
|
47
|
+
atlasId: string;
|
|
48
|
+
name: string;
|
|
49
|
+
description?: string;
|
|
50
|
+
viewType: 'map' | 'table' | 'combo' | 'folder';
|
|
51
|
+
parentId?: string | null;
|
|
52
|
+
position?: number;
|
|
53
|
+
isPublic?: boolean;
|
|
54
|
+
isDefault?: boolean;
|
|
55
|
+
settings?: Record<string, unknown>;
|
|
56
|
+
filters?: Record<string, unknown>;
|
|
57
|
+
visibility?: Record<string, boolean>;
|
|
58
|
+
pointIds?: string[];
|
|
59
|
+
layout?: string;
|
|
60
|
+
groupBy?: string | null;
|
|
61
|
+
nodeStyles?: Record<string, unknown>;
|
|
62
|
+
edgeStyles?: Record<string, unknown>;
|
|
63
|
+
createdBy: string;
|
|
64
|
+
createdAt: string;
|
|
65
|
+
updatedAt: string;
|
|
66
|
+
}
|
|
67
|
+
export declare class GraphiteAtlasClient {
|
|
68
|
+
private axios;
|
|
69
|
+
constructor(config: GraphiteAtlasClientConfig);
|
|
70
|
+
/**
|
|
71
|
+
* Health check to verify API connectivity
|
|
72
|
+
*/
|
|
73
|
+
healthCheck(): Promise<void>;
|
|
74
|
+
/**
|
|
75
|
+
* List all atlases for the authenticated user
|
|
76
|
+
*/
|
|
77
|
+
listAtlases(): Promise<Atlas[]>;
|
|
78
|
+
/**
|
|
79
|
+
* Get a specific atlas by ID
|
|
80
|
+
*/
|
|
81
|
+
getAtlas(atlasId: string): Promise<Atlas>;
|
|
82
|
+
/**
|
|
83
|
+
* Create a new atlas
|
|
84
|
+
*/
|
|
85
|
+
createAtlas(params: {
|
|
86
|
+
name: string;
|
|
87
|
+
description?: string;
|
|
88
|
+
schema?: Record<string, unknown>;
|
|
89
|
+
}): Promise<Atlas>;
|
|
90
|
+
/**
|
|
91
|
+
* Update an existing atlas
|
|
92
|
+
*/
|
|
93
|
+
updateAtlas(atlasId: string, params: {
|
|
94
|
+
name?: string;
|
|
95
|
+
description?: string;
|
|
96
|
+
schema?: Record<string, unknown>;
|
|
97
|
+
}): Promise<Atlas>;
|
|
98
|
+
/**
|
|
99
|
+
* Delete an atlas
|
|
100
|
+
*/
|
|
101
|
+
deleteAtlas(atlasId: string): Promise<void>;
|
|
102
|
+
/**
|
|
103
|
+
* List all points in an atlas
|
|
104
|
+
*/
|
|
105
|
+
listPoints(atlasId: string): Promise<Point[]>;
|
|
106
|
+
/**
|
|
107
|
+
* Get a specific point by searching all points
|
|
108
|
+
* Note: Backend doesn't have a single-point GET endpoint, so we filter the list
|
|
109
|
+
*/
|
|
110
|
+
getPoint(atlasId: string, pointId: string): Promise<Point>;
|
|
111
|
+
/**
|
|
112
|
+
* Create a new point
|
|
113
|
+
*/
|
|
114
|
+
createPoint(atlasId: string, params: {
|
|
115
|
+
name: string;
|
|
116
|
+
type: string;
|
|
117
|
+
description?: string;
|
|
118
|
+
properties?: Record<string, unknown>;
|
|
119
|
+
}): Promise<Point>;
|
|
120
|
+
/**
|
|
121
|
+
* Update a point
|
|
122
|
+
*/
|
|
123
|
+
updatePoint(atlasId: string, pointId: string, params: {
|
|
124
|
+
name?: string;
|
|
125
|
+
type?: string;
|
|
126
|
+
description?: string;
|
|
127
|
+
properties?: Record<string, unknown>;
|
|
128
|
+
}): Promise<Point>;
|
|
129
|
+
/**
|
|
130
|
+
* Delete a point
|
|
131
|
+
*/
|
|
132
|
+
deletePoint(atlasId: string, pointId: string): Promise<void>;
|
|
133
|
+
/**
|
|
134
|
+
* List all paths in an atlas
|
|
135
|
+
*/
|
|
136
|
+
listPaths(atlasId: string): Promise<Path[]>;
|
|
137
|
+
/**
|
|
138
|
+
* Get a specific path by searching all paths
|
|
139
|
+
* Note: Backend doesn't have a single-path GET endpoint, so we filter the list
|
|
140
|
+
*/
|
|
141
|
+
getPath(atlasId: string, pathId: string): Promise<Path>;
|
|
142
|
+
/**
|
|
143
|
+
* Create a new path
|
|
144
|
+
*/
|
|
145
|
+
createPath(atlasId: string, params: {
|
|
146
|
+
name: string;
|
|
147
|
+
type: string;
|
|
148
|
+
sourceId: string;
|
|
149
|
+
targetId: string;
|
|
150
|
+
description?: string;
|
|
151
|
+
properties?: Record<string, unknown>;
|
|
152
|
+
}): Promise<Path>;
|
|
153
|
+
/**
|
|
154
|
+
* Update a path
|
|
155
|
+
*/
|
|
156
|
+
updatePath(atlasId: string, pathId: string, params: {
|
|
157
|
+
name?: string;
|
|
158
|
+
type?: string;
|
|
159
|
+
description?: string;
|
|
160
|
+
properties?: Record<string, unknown>;
|
|
161
|
+
}): Promise<Path>;
|
|
162
|
+
/**
|
|
163
|
+
* Delete a path
|
|
164
|
+
*/
|
|
165
|
+
deletePath(atlasId: string, pathId: string): Promise<void>;
|
|
166
|
+
/**
|
|
167
|
+
* Batch create points and paths with name-based references
|
|
168
|
+
* Reduces multiple API calls to a single atomic operation
|
|
169
|
+
*/
|
|
170
|
+
batchCreateGraph(atlasId: string, params: {
|
|
171
|
+
points?: Array<{
|
|
172
|
+
name: string;
|
|
173
|
+
type: string;
|
|
174
|
+
category?: string;
|
|
175
|
+
description?: string;
|
|
176
|
+
tags?: string[];
|
|
177
|
+
properties?: Record<string, unknown>;
|
|
178
|
+
}>;
|
|
179
|
+
paths?: Array<{
|
|
180
|
+
type: string;
|
|
181
|
+
source_name: string;
|
|
182
|
+
target_name: string;
|
|
183
|
+
description?: string;
|
|
184
|
+
properties?: Record<string, unknown>;
|
|
185
|
+
}>;
|
|
186
|
+
}): Promise<{
|
|
187
|
+
points: Point[];
|
|
188
|
+
paths: Path[];
|
|
189
|
+
pointCount: number;
|
|
190
|
+
pathCount: number;
|
|
191
|
+
}>;
|
|
192
|
+
/**
|
|
193
|
+
* Execute a read-only Cypher query
|
|
194
|
+
* Enables complex graph traversals in a single call
|
|
195
|
+
*/
|
|
196
|
+
queryCypher(atlasId: string, params: {
|
|
197
|
+
query: string;
|
|
198
|
+
parameters?: Record<string, unknown>;
|
|
199
|
+
}): Promise<any[]>;
|
|
200
|
+
/**
|
|
201
|
+
* Execute a brain dump to generate graph from text
|
|
202
|
+
*/
|
|
203
|
+
brainDump(atlasId: string, params: {
|
|
204
|
+
text: string;
|
|
205
|
+
processName?: string;
|
|
206
|
+
}): Promise<BrainDumpResult>;
|
|
207
|
+
/**
|
|
208
|
+
* Get brain dump operation status
|
|
209
|
+
*/
|
|
210
|
+
getBrainDumpStatus(operationId: string): Promise<BrainDumpResult>;
|
|
211
|
+
/**
|
|
212
|
+
* Search for points by name or type
|
|
213
|
+
*/
|
|
214
|
+
searchPoints(atlasId: string, query: string): Promise<Point[]>;
|
|
215
|
+
/**
|
|
216
|
+
* Search for paths by name or type
|
|
217
|
+
*/
|
|
218
|
+
searchPaths(atlasId: string, query: string): Promise<Path[]>;
|
|
219
|
+
/**
|
|
220
|
+
* List all views in an atlas
|
|
221
|
+
*/
|
|
222
|
+
listViews(atlasId: string): Promise<View[]>;
|
|
223
|
+
/**
|
|
224
|
+
* Get a specific view by ID
|
|
225
|
+
*/
|
|
226
|
+
getView(atlasId: string, viewId: string): Promise<View>;
|
|
227
|
+
/**
|
|
228
|
+
* Create a new view
|
|
229
|
+
*/
|
|
230
|
+
createView(atlasId: string, params: {
|
|
231
|
+
name: string;
|
|
232
|
+
description?: string;
|
|
233
|
+
viewType?: 'map' | 'table' | 'combo' | 'folder';
|
|
234
|
+
parentId?: string;
|
|
235
|
+
position?: number;
|
|
236
|
+
settings?: Record<string, unknown>;
|
|
237
|
+
filters?: Record<string, unknown>;
|
|
238
|
+
isPublic?: boolean;
|
|
239
|
+
}): Promise<View>;
|
|
240
|
+
/**
|
|
241
|
+
* Update an existing view
|
|
242
|
+
*/
|
|
243
|
+
updateView(atlasId: string, viewId: string, params: {
|
|
244
|
+
name?: string;
|
|
245
|
+
description?: string;
|
|
246
|
+
viewType?: 'map' | 'table' | 'combo' | 'folder';
|
|
247
|
+
parentId?: string;
|
|
248
|
+
position?: number;
|
|
249
|
+
settings?: Record<string, unknown>;
|
|
250
|
+
filters?: Record<string, unknown>;
|
|
251
|
+
visibility?: Record<string, boolean>;
|
|
252
|
+
pointIds?: string[];
|
|
253
|
+
isPublic?: boolean;
|
|
254
|
+
}): Promise<View>;
|
|
255
|
+
/**
|
|
256
|
+
* Delete a view
|
|
257
|
+
*/
|
|
258
|
+
deleteView(atlasId: string, viewId: string): Promise<void>;
|
|
259
|
+
/**
|
|
260
|
+
* Toggle point visibility in a view
|
|
261
|
+
*/
|
|
262
|
+
togglePointVisibility(atlasId: string, viewId: string, pointId: string, visible: boolean): Promise<Record<string, boolean>>;
|
|
263
|
+
/**
|
|
264
|
+
* Add point to view
|
|
265
|
+
*/
|
|
266
|
+
addPointToView(atlasId: string, viewId: string, pointId: string): Promise<string[]>;
|
|
267
|
+
/**
|
|
268
|
+
* Remove point from view
|
|
269
|
+
*/
|
|
270
|
+
removePointFromView(atlasId: string, viewId: string, pointId: string): Promise<string[]>;
|
|
271
|
+
}
|
|
272
|
+
//# sourceMappingURL=client.d.ts.map
|