@nestr/mcp 0.1.8
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/LICENSE +21 -0
- package/README.md +228 -0
- package/build/api/client.d.ts +211 -0
- package/build/api/client.d.ts.map +1 -0
- package/build/api/client.js +279 -0
- package/build/api/client.js.map +1 -0
- package/build/http.d.ts +25 -0
- package/build/http.d.ts.map +1 -0
- package/build/http.js +810 -0
- package/build/http.js.map +1 -0
- package/build/index.d.ts +15 -0
- package/build/index.d.ts.map +1 -0
- package/build/index.js +62 -0
- package/build/index.js.map +1 -0
- package/build/oauth/config.d.ts +70 -0
- package/build/oauth/config.d.ts.map +1 -0
- package/build/oauth/config.js +86 -0
- package/build/oauth/config.js.map +1 -0
- package/build/oauth/flow.d.ts +113 -0
- package/build/oauth/flow.d.ts.map +1 -0
- package/build/oauth/flow.js +233 -0
- package/build/oauth/flow.js.map +1 -0
- package/build/oauth/storage.d.ts +65 -0
- package/build/oauth/storage.d.ts.map +1 -0
- package/build/oauth/storage.js +222 -0
- package/build/oauth/storage.js.map +1 -0
- package/build/server.d.ts +11 -0
- package/build/server.d.ts.map +1 -0
- package/build/server.js +383 -0
- package/build/server.js.map +1 -0
- package/build/tools/index.d.ts +1049 -0
- package/build/tools/index.d.ts.map +1 -0
- package/build/tools/index.js +711 -0
- package/build/tools/index.js.map +1 -0
- package/package.json +58 -0
- package/web/index.html +595 -0
- package/web/styles.css +700 -0
package/LICENSE
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2026 Nestr
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
SOFTWARE.
|
package/README.md
ADDED
|
@@ -0,0 +1,228 @@
|
|
|
1
|
+
# @nestr/mcp
|
|
2
|
+
|
|
3
|
+
MCP (Model Context Protocol) server for [Nestr](https://nestr.io) - connect AI assistants like Claude to your workspace.
|
|
4
|
+
|
|
5
|
+
## What is this?
|
|
6
|
+
|
|
7
|
+
This MCP server allows AI assistants to interact with your Nestr workspace:
|
|
8
|
+
|
|
9
|
+
- Search for tasks, projects, and roles
|
|
10
|
+
- Create and update nests
|
|
11
|
+
- View organizational structure (circles, roles, accountabilities)
|
|
12
|
+
- Get workspace insights and metrics
|
|
13
|
+
- Add comments and collaborate
|
|
14
|
+
|
|
15
|
+
## Quick Start
|
|
16
|
+
|
|
17
|
+
### 1. Get Your API Key
|
|
18
|
+
|
|
19
|
+
1. Go to your [Nestr workspace](https://app.nestr.io)
|
|
20
|
+
2. Click **Settings** (gear icon) in the top right
|
|
21
|
+
3. Go to the **Integrations** tab
|
|
22
|
+
4. Find **"Workspace API access"** and click **Configure**
|
|
23
|
+
5. Click **"New API key"** and copy it
|
|
24
|
+
|
|
25
|
+
### 2. Configure Your AI Client
|
|
26
|
+
|
|
27
|
+
#### Claude Desktop
|
|
28
|
+
|
|
29
|
+
Edit `~/Library/Application Support/Claude/claude_desktop_config.json` (macOS) or `%APPDATA%\Claude\claude_desktop_config.json` (Windows):
|
|
30
|
+
|
|
31
|
+
```json
|
|
32
|
+
{
|
|
33
|
+
"mcpServers": {
|
|
34
|
+
"nestr": {
|
|
35
|
+
"command": "npx",
|
|
36
|
+
"args": ["-y", "@nestr/mcp"],
|
|
37
|
+
"env": {
|
|
38
|
+
"NESTR_API_KEY": "your-api-key-here"
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
```
|
|
44
|
+
|
|
45
|
+
Restart Claude Desktop after saving.
|
|
46
|
+
|
|
47
|
+
#### Claude Code
|
|
48
|
+
|
|
49
|
+
Add to your Claude Code MCP settings:
|
|
50
|
+
|
|
51
|
+
```json
|
|
52
|
+
{
|
|
53
|
+
"mcpServers": {
|
|
54
|
+
"nestr": {
|
|
55
|
+
"command": "npx",
|
|
56
|
+
"args": ["-y", "@nestr/mcp"],
|
|
57
|
+
"env": {
|
|
58
|
+
"NESTR_API_KEY": "your-api-key-here"
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
```
|
|
64
|
+
|
|
65
|
+
#### Cursor
|
|
66
|
+
|
|
67
|
+
Add to your Cursor MCP configuration with the same format as above.
|
|
68
|
+
|
|
69
|
+
### 3. Start Using It
|
|
70
|
+
|
|
71
|
+
Ask your AI assistant things like:
|
|
72
|
+
|
|
73
|
+
- "What workspaces do I have access to?"
|
|
74
|
+
- "Search for tasks related to marketing"
|
|
75
|
+
- "Create a new project called 'Q1 Planning'"
|
|
76
|
+
- "What are my current projects and their status?"
|
|
77
|
+
- "Who is responsible for customer support?"
|
|
78
|
+
- "Show me the structure of the Product circle"
|
|
79
|
+
|
|
80
|
+
## Available Tools
|
|
81
|
+
|
|
82
|
+
| Tool | Description |
|
|
83
|
+
|------|-------------|
|
|
84
|
+
| `nestr_list_workspaces` | List accessible workspaces |
|
|
85
|
+
| `nestr_get_workspace` | Get workspace details |
|
|
86
|
+
| `nestr_search` | Search for nests (tasks, projects, roles) |
|
|
87
|
+
| `nestr_get_nest` | Get details of a specific nest |
|
|
88
|
+
| `nestr_get_nest_children` | Get child nests |
|
|
89
|
+
| `nestr_create_nest` | Create a new nest |
|
|
90
|
+
| `nestr_update_nest` | Update nest properties |
|
|
91
|
+
| `nestr_delete_nest` | Delete a nest |
|
|
92
|
+
| `nestr_add_comment` | Add a comment to a nest |
|
|
93
|
+
| `nestr_get_comments` | Get comments/discussion on a nest |
|
|
94
|
+
| `nestr_list_circles` | List organizational circles |
|
|
95
|
+
| `nestr_get_circle` | Get circle details |
|
|
96
|
+
| `nestr_get_circle_roles` | Get roles in a circle |
|
|
97
|
+
| `nestr_list_roles` | List all roles |
|
|
98
|
+
| `nestr_list_users` | List workspace members |
|
|
99
|
+
| `nestr_get_user` | Get user details |
|
|
100
|
+
| `nestr_list_labels` | List available labels |
|
|
101
|
+
| `nestr_get_label` | Get label details |
|
|
102
|
+
| `nestr_get_projects` | List projects with status |
|
|
103
|
+
| `nestr_get_insights` | Get self-organization and team health metrics |
|
|
104
|
+
| `nestr_get_insight_history` | Get historical trend data for a metric |
|
|
105
|
+
| `nestr_get_workspace_apps` | List enabled apps/features in workspace |
|
|
106
|
+
| `nestr_list_inbox` | List items in user's inbox (OAuth only) |
|
|
107
|
+
| `nestr_create_inbox_item` | Quick capture to inbox (OAuth only) |
|
|
108
|
+
| `nestr_get_inbox_item` | Get inbox item details (OAuth only) |
|
|
109
|
+
| `nestr_update_inbox_item` | Update inbox item (OAuth only) |
|
|
110
|
+
|
|
111
|
+
## Authentication
|
|
112
|
+
|
|
113
|
+
There are two ways to authenticate with the Nestr MCP server:
|
|
114
|
+
|
|
115
|
+
### Option 1: API Key (Simple)
|
|
116
|
+
|
|
117
|
+
API keys provide full workspace access and are the easiest way to get started. See [Quick Start](#quick-start) above.
|
|
118
|
+
|
|
119
|
+
**Note:** API keys have full workspace access regardless of user permissions.
|
|
120
|
+
|
|
121
|
+
### Option 2: OAuth (Recommended for Hosted Service)
|
|
122
|
+
|
|
123
|
+
OAuth authentication respects user-specific permissions - the AI assistant can only access what the authenticated user can access.
|
|
124
|
+
|
|
125
|
+
#### Using the Hosted Service (mcp.nestr.io)
|
|
126
|
+
|
|
127
|
+
The hosted service at [mcp.nestr.io](https://mcp.nestr.io) supports OAuth out of the box:
|
|
128
|
+
|
|
129
|
+
1. Visit [mcp.nestr.io/oauth/authorize](https://mcp.nestr.io/oauth/authorize)
|
|
130
|
+
2. Log in with your Nestr account and authorize access
|
|
131
|
+
3. Copy the access token from the success page
|
|
132
|
+
4. Use the token in your MCP client configuration:
|
|
133
|
+
|
|
134
|
+
```json
|
|
135
|
+
{
|
|
136
|
+
"mcpServers": {
|
|
137
|
+
"nestr": {
|
|
138
|
+
"command": "npx",
|
|
139
|
+
"args": ["-y", "@nestr/mcp"],
|
|
140
|
+
"env": {
|
|
141
|
+
"NESTR_OAUTH_TOKEN": "your-oauth-token-here"
|
|
142
|
+
}
|
|
143
|
+
}
|
|
144
|
+
}
|
|
145
|
+
}
|
|
146
|
+
```
|
|
147
|
+
|
|
148
|
+
#### Self-Hosted OAuth Setup
|
|
149
|
+
|
|
150
|
+
If you're running your own instance of the MCP server and want to enable OAuth:
|
|
151
|
+
|
|
152
|
+
1. **Contact Nestr** at [dev@nestr.io](mailto:dev@nestr.io) to register an OAuth client
|
|
153
|
+
2. Provide your callback URL (e.g., `https://your-domain.com/oauth/callback`)
|
|
154
|
+
3. Nestr will provide you with a `client_id` and `client_secret`
|
|
155
|
+
4. Set the following environment variables:
|
|
156
|
+
|
|
157
|
+
```bash
|
|
158
|
+
NESTR_OAUTH_CLIENT_ID=your-client-id
|
|
159
|
+
NESTR_OAUTH_CLIENT_SECRET=your-client-secret
|
|
160
|
+
```
|
|
161
|
+
|
|
162
|
+
Once configured, users can authenticate via `/oauth/authorize` on your server.
|
|
163
|
+
|
|
164
|
+
## Environment Variables
|
|
165
|
+
|
|
166
|
+
| Variable | Description | Required |
|
|
167
|
+
|----------|-------------|----------|
|
|
168
|
+
| `NESTR_API_KEY` | Nestr API key (full workspace access) | Yes* |
|
|
169
|
+
| `NESTR_OAUTH_TOKEN` | OAuth token (respects user permissions) | Yes* |
|
|
170
|
+
| `NESTR_API_BASE` | API base URL (default: `https://app.nestr.io/api`) | No |
|
|
171
|
+
| `NESTR_OAUTH_CLIENT_ID` | OAuth client ID (for self-hosted OAuth) | No |
|
|
172
|
+
| `NESTR_OAUTH_CLIENT_SECRET` | OAuth client secret (for self-hosted OAuth) | No |
|
|
173
|
+
|
|
174
|
+
\* Either `NESTR_API_KEY` or `NESTR_OAUTH_TOKEN` is required.
|
|
175
|
+
|
|
176
|
+
## Development
|
|
177
|
+
|
|
178
|
+
```bash
|
|
179
|
+
# Clone the repository
|
|
180
|
+
git clone https://github.com/nestr-dev/nestr-mcp.git
|
|
181
|
+
cd nestr-mcp
|
|
182
|
+
|
|
183
|
+
# Install dependencies
|
|
184
|
+
npm install
|
|
185
|
+
|
|
186
|
+
# Set your API key
|
|
187
|
+
export NESTR_API_KEY=your-api-key
|
|
188
|
+
|
|
189
|
+
# Run in development mode (stdio)
|
|
190
|
+
npm run dev
|
|
191
|
+
|
|
192
|
+
# Run HTTP server for local testing
|
|
193
|
+
npm run dev:http
|
|
194
|
+
|
|
195
|
+
# Build for production
|
|
196
|
+
npm run build
|
|
197
|
+
|
|
198
|
+
# Test with MCP Inspector
|
|
199
|
+
npm run inspect
|
|
200
|
+
```
|
|
201
|
+
|
|
202
|
+
## Hosted Service
|
|
203
|
+
|
|
204
|
+
A hosted version is available at [mcp.nestr.io](https://mcp.nestr.io) for users who prefer not to run the server locally.
|
|
205
|
+
|
|
206
|
+
## Security
|
|
207
|
+
|
|
208
|
+
- Never commit your API key or OAuth token to version control
|
|
209
|
+
- API keys provide full workspace access - consider using OAuth for more granular permissions
|
|
210
|
+
- OAuth tokens respect user permissions and are the recommended approach for shared environments
|
|
211
|
+
- Store credentials securely (e.g., in a password manager or secrets manager)
|
|
212
|
+
- Rotate keys/tokens if you suspect they've been compromised
|
|
213
|
+
|
|
214
|
+
## Resources
|
|
215
|
+
|
|
216
|
+
- [Nestr Help Center](https://help.nestr.io)
|
|
217
|
+
- [Nestr API Documentation](https://app.nestr.io/api/docs)
|
|
218
|
+
- [Model Context Protocol](https://modelcontextprotocol.io)
|
|
219
|
+
- [MCP Specification](https://modelcontextprotocol.io/specification/2025-11-25)
|
|
220
|
+
|
|
221
|
+
## License
|
|
222
|
+
|
|
223
|
+
MIT - see [LICENSE](LICENSE)
|
|
224
|
+
|
|
225
|
+
## Support
|
|
226
|
+
|
|
227
|
+
- [GitHub Issues](https://github.com/nestr-dev/nestr-mcp/issues)
|
|
228
|
+
- [Nestr Support](https://help.nestr.io)
|
|
@@ -0,0 +1,211 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Nestr API Client
|
|
3
|
+
* Wrapper for the Nestr REST API
|
|
4
|
+
*/
|
|
5
|
+
export interface NestrClientConfig {
|
|
6
|
+
apiKey: string;
|
|
7
|
+
baseUrl?: string;
|
|
8
|
+
/** MCP client name (e.g., "claude-desktop", "cursor") for tracking */
|
|
9
|
+
mcpClient?: string;
|
|
10
|
+
}
|
|
11
|
+
export interface Nest {
|
|
12
|
+
_id: string;
|
|
13
|
+
title: string;
|
|
14
|
+
purpose?: string;
|
|
15
|
+
description?: string;
|
|
16
|
+
parentId?: string;
|
|
17
|
+
ancestors?: string[];
|
|
18
|
+
labels?: string[];
|
|
19
|
+
fields?: Record<string, unknown>;
|
|
20
|
+
/** Miscellaneous data storage (e.g., third-party IDs, custom metadata) */
|
|
21
|
+
data?: Record<string, unknown>;
|
|
22
|
+
/**
|
|
23
|
+
* Context-dependent date field:
|
|
24
|
+
* - Project/Task: due date
|
|
25
|
+
* - Role: re-election date
|
|
26
|
+
* - Meeting: start date
|
|
27
|
+
*/
|
|
28
|
+
due?: string;
|
|
29
|
+
/** Whether this item is completed (for tasks/projects/meetings etc.) */
|
|
30
|
+
completed?: boolean;
|
|
31
|
+
/** User IDs assigned to this nest (must be explicitly set, not inherited from parent role) */
|
|
32
|
+
users?: string[];
|
|
33
|
+
createdAt?: string;
|
|
34
|
+
updatedAt?: string;
|
|
35
|
+
}
|
|
36
|
+
export interface Post {
|
|
37
|
+
_id: string;
|
|
38
|
+
body: string;
|
|
39
|
+
parentId: string;
|
|
40
|
+
ancestors?: string[];
|
|
41
|
+
labels?: string[];
|
|
42
|
+
createdAt?: string;
|
|
43
|
+
}
|
|
44
|
+
export interface User {
|
|
45
|
+
_id: string;
|
|
46
|
+
username: string;
|
|
47
|
+
profile?: {
|
|
48
|
+
email?: string;
|
|
49
|
+
fullName?: string;
|
|
50
|
+
avatar?: string;
|
|
51
|
+
};
|
|
52
|
+
}
|
|
53
|
+
export interface Label {
|
|
54
|
+
_id: string;
|
|
55
|
+
title: string;
|
|
56
|
+
workspaceId?: string;
|
|
57
|
+
userId?: string;
|
|
58
|
+
}
|
|
59
|
+
export interface Role extends Nest {
|
|
60
|
+
accountabilities?: string[];
|
|
61
|
+
domains?: string[];
|
|
62
|
+
}
|
|
63
|
+
export interface Insight {
|
|
64
|
+
nestId: string;
|
|
65
|
+
type: string;
|
|
66
|
+
workspaceId: string;
|
|
67
|
+
title: string;
|
|
68
|
+
currentValue: number;
|
|
69
|
+
compareValue?: number;
|
|
70
|
+
dataType?: string;
|
|
71
|
+
goal?: number;
|
|
72
|
+
}
|
|
73
|
+
export interface WorkspaceApp {
|
|
74
|
+
_id: string;
|
|
75
|
+
title: string;
|
|
76
|
+
description?: string;
|
|
77
|
+
enabled: boolean;
|
|
78
|
+
}
|
|
79
|
+
export declare class NestrApiError extends Error {
|
|
80
|
+
status: number;
|
|
81
|
+
endpoint: string;
|
|
82
|
+
constructor(message: string, status: number, endpoint: string);
|
|
83
|
+
}
|
|
84
|
+
export declare class NestrClient {
|
|
85
|
+
private apiKey;
|
|
86
|
+
private baseUrl;
|
|
87
|
+
private mcpClient?;
|
|
88
|
+
constructor(config: NestrClientConfig);
|
|
89
|
+
private fetch;
|
|
90
|
+
listWorkspaces(options?: {
|
|
91
|
+
search?: string;
|
|
92
|
+
limit?: number;
|
|
93
|
+
cleanText?: boolean;
|
|
94
|
+
}): Promise<Nest[]>;
|
|
95
|
+
getWorkspace(workspaceId: string, cleanText?: boolean): Promise<Nest>;
|
|
96
|
+
searchWorkspace(workspaceId: string, search: string, options?: {
|
|
97
|
+
limit?: number;
|
|
98
|
+
cleanText?: boolean;
|
|
99
|
+
}): Promise<Nest[]>;
|
|
100
|
+
getWorkspaceProjects(workspaceId: string, options?: {
|
|
101
|
+
limit?: number;
|
|
102
|
+
cleanText?: boolean;
|
|
103
|
+
}): Promise<Nest[]>;
|
|
104
|
+
getNest(nestId: string, cleanText?: boolean): Promise<Nest>;
|
|
105
|
+
getNestChildren(nestId: string, cleanText?: boolean): Promise<Nest[]>;
|
|
106
|
+
createNest(data: {
|
|
107
|
+
parentId: string;
|
|
108
|
+
title: string;
|
|
109
|
+
purpose?: string;
|
|
110
|
+
description?: string;
|
|
111
|
+
labels?: string[];
|
|
112
|
+
fields?: Record<string, unknown>;
|
|
113
|
+
users?: string[];
|
|
114
|
+
}): Promise<Nest>;
|
|
115
|
+
updateNest(nestId: string, updates: Partial<{
|
|
116
|
+
title: string;
|
|
117
|
+
purpose: string;
|
|
118
|
+
description: string;
|
|
119
|
+
parentId: string;
|
|
120
|
+
labels: string[];
|
|
121
|
+
fields: Record<string, unknown>;
|
|
122
|
+
users: string[];
|
|
123
|
+
data: Record<string, unknown>;
|
|
124
|
+
}>): Promise<Nest>;
|
|
125
|
+
deleteNest(nestId: string): Promise<void>;
|
|
126
|
+
searchNest(nestId: string, search: string, options?: {
|
|
127
|
+
limit?: number;
|
|
128
|
+
cleanText?: boolean;
|
|
129
|
+
}): Promise<Nest[]>;
|
|
130
|
+
getNestPosts(nestId: string, options?: {
|
|
131
|
+
depth?: number;
|
|
132
|
+
}): Promise<Post[]>;
|
|
133
|
+
createPost(nestId: string, body: string): Promise<Post>;
|
|
134
|
+
listCircles(workspaceId: string, options?: {
|
|
135
|
+
limit?: number;
|
|
136
|
+
cleanText?: boolean;
|
|
137
|
+
}): Promise<Role[]>;
|
|
138
|
+
getCircle(workspaceId: string, circleId: string, cleanText?: boolean): Promise<Role>;
|
|
139
|
+
getCircleRoles(workspaceId: string, circleId: string, options?: {
|
|
140
|
+
limit?: number;
|
|
141
|
+
cleanText?: boolean;
|
|
142
|
+
}): Promise<Role[]>;
|
|
143
|
+
listRoles(workspaceId: string, options?: {
|
|
144
|
+
limit?: number;
|
|
145
|
+
cleanText?: boolean;
|
|
146
|
+
}): Promise<Role[]>;
|
|
147
|
+
listUsers(workspaceId: string, options?: {
|
|
148
|
+
search?: string;
|
|
149
|
+
includeSuspended?: boolean;
|
|
150
|
+
}): Promise<User[]>;
|
|
151
|
+
getUser(workspaceId: string, userId: string): Promise<User>;
|
|
152
|
+
listLabels(workspaceId: string, options?: {
|
|
153
|
+
search?: string;
|
|
154
|
+
}): Promise<Label[]>;
|
|
155
|
+
getLabel(workspaceId: string, labelId: string): Promise<Label>;
|
|
156
|
+
getInsights(workspaceId: string, options?: {
|
|
157
|
+
includeSubCircles?: boolean;
|
|
158
|
+
userId?: string;
|
|
159
|
+
}): Promise<{
|
|
160
|
+
status: string;
|
|
161
|
+
metrics: Insight[];
|
|
162
|
+
}>;
|
|
163
|
+
getInsightHistory(workspaceId: string, metricId: string, options?: {
|
|
164
|
+
from?: string;
|
|
165
|
+
to?: string;
|
|
166
|
+
limit?: number;
|
|
167
|
+
}): Promise<unknown[]>;
|
|
168
|
+
getWorkspaceApps(workspaceId: string): Promise<WorkspaceApp[]>;
|
|
169
|
+
/**
|
|
170
|
+
* List items in the current user's inbox.
|
|
171
|
+
* Requires OAuth token (user-scoped) - does not work with workspace API keys.
|
|
172
|
+
*/
|
|
173
|
+
listInbox(options?: {
|
|
174
|
+
completedAfter?: string;
|
|
175
|
+
}): Promise<Nest[]>;
|
|
176
|
+
/**
|
|
177
|
+
* Create a new item in the current user's inbox (quick capture).
|
|
178
|
+
* Requires OAuth token (user-scoped) - does not work with workspace API keys.
|
|
179
|
+
*/
|
|
180
|
+
createInboxItem(data: {
|
|
181
|
+
title: string;
|
|
182
|
+
description?: string;
|
|
183
|
+
}): Promise<Nest>;
|
|
184
|
+
/**
|
|
185
|
+
* Get a single inbox item by ID.
|
|
186
|
+
* Requires OAuth token (user-scoped) - does not work with workspace API keys.
|
|
187
|
+
*/
|
|
188
|
+
getInboxItem(nestId: string, cleanText?: boolean): Promise<Nest>;
|
|
189
|
+
/**
|
|
190
|
+
* Update an inbox item.
|
|
191
|
+
* Requires OAuth token (user-scoped) - does not work with workspace API keys.
|
|
192
|
+
* To move out of inbox, use nestr_update_nest to change parentId.
|
|
193
|
+
*/
|
|
194
|
+
updateInboxItem(nestId: string, updates: Partial<{
|
|
195
|
+
title: string;
|
|
196
|
+
description: string;
|
|
197
|
+
completed: boolean;
|
|
198
|
+
data: Record<string, unknown>;
|
|
199
|
+
}>): Promise<Nest>;
|
|
200
|
+
}
|
|
201
|
+
/**
|
|
202
|
+
* Factory function to create client from environment variables
|
|
203
|
+
*
|
|
204
|
+
* Supports two authentication methods:
|
|
205
|
+
* 1. NESTR_OAUTH_TOKEN - OAuth Bearer token (recommended - respects user permissions)
|
|
206
|
+
* 2. NESTR_API_KEY - API key from workspace settings (full workspace access)
|
|
207
|
+
*
|
|
208
|
+
* If both are set, NESTR_API_KEY takes precedence for backwards compatibility.
|
|
209
|
+
*/
|
|
210
|
+
export declare function createClientFromEnv(): NestrClient;
|
|
211
|
+
//# sourceMappingURL=client.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../src/api/client.ts"],"names":[],"mappings":"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"}
|