pilot-ai 0.5.21 → 0.5.23
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 +141 -58
- package/dist/agent/core.d.ts.map +1 -1
- package/dist/agent/core.js +48 -12
- package/dist/agent/core.js.map +1 -1
- package/dist/agent/mcp-launcher.d.ts.map +1 -1
- package/dist/agent/mcp-launcher.js +24 -3
- package/dist/agent/mcp-launcher.js.map +1 -1
- package/dist/agent/mcp-manager.d.ts +17 -0
- package/dist/agent/mcp-manager.d.ts.map +1 -1
- package/dist/agent/mcp-manager.js +71 -2
- package/dist/agent/mcp-manager.js.map +1 -1
- package/dist/agent/token-refresher.d.ts.map +1 -1
- package/dist/agent/token-refresher.js +9 -1
- package/dist/agent/token-refresher.js.map +1 -1
- package/dist/cli/doctor.d.ts.map +1 -1
- package/dist/cli/doctor.js +85 -0
- package/dist/cli/doctor.js.map +1 -1
- package/dist/cli/init.d.ts.map +1 -1
- package/dist/cli/init.js +12 -6
- package/dist/cli/init.js.map +1 -1
- package/dist/cli/tools.d.ts.map +1 -1
- package/dist/cli/tools.js +80 -17
- package/dist/cli/tools.js.map +1 -1
- package/dist/config/claude-code-sync.d.ts +7 -1
- package/dist/config/claude-code-sync.d.ts.map +1 -1
- package/dist/config/claude-code-sync.js +12 -5
- package/dist/config/claude-code-sync.js.map +1 -1
- package/dist/tools/mcp-registry.d.ts +10 -0
- package/dist/tools/mcp-registry.d.ts.map +1 -1
- package/dist/tools/mcp-registry.js +51 -4
- package/dist/tools/mcp-registry.js.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -18,7 +18,7 @@
|
|
|
18
18
|
|
|
19
19
|
---
|
|
20
20
|
|
|
21
|
-
Pilot-AI is a local AI agent that lives on your Mac. Send it natural-language commands from **Slack** or **Telegram**, and it autonomously controls your browser, files, shell, GitHub, Notion, and more — powered by [Claude Code](https://code.claude.com/) CLI.
|
|
21
|
+
Pilot-AI is a local AI agent that lives on your Mac. Send it natural-language commands from **Slack** or **Telegram**, and it autonomously controls your browser, files, shell, GitHub, Notion, Figma, Google Workspace, and more — powered by [Claude Code](https://code.claude.com/) CLI.
|
|
22
22
|
|
|
23
23
|
## How it works
|
|
24
24
|
|
|
@@ -27,17 +27,20 @@ Pilot-AI is a local AI agent that lives on your Mac. Send it natural-language co
|
|
|
27
27
|
│ Slack / Telegram │────▶│ Pilot-AI Agent │────▶│ Claude Code CLI │
|
|
28
28
|
│ (your phone/PC) │◀────│ (local daemon) │◀────│ (agentic reasoning) │
|
|
29
29
|
└──────────────────┘ └────────┬────────┘ └──────────────────────┘
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
30
|
+
│
|
|
31
|
+
┌─────────────┼─────────────┐
|
|
32
|
+
▼ ▼ ▼
|
|
33
|
+
🌐 Browser 📁 Files 🔧 Shell
|
|
34
|
+
(Playwright) (Read/Write) (Bash/Git/gh)
|
|
35
|
+
▼ ▼ ▼
|
|
36
|
+
📝 Notion 🔗 GitHub 📋 Linear
|
|
37
|
+
(MCP) (CLI/MCP) (MCP)
|
|
38
|
+
▼ ▼ ▼
|
|
39
|
+
📧 Gmail 📅 Calendar 📁 Google Drive
|
|
40
|
+
(OAuth2/MCP) (OAuth2/MCP) (OAuth2/MCP)
|
|
41
|
+
▼ ▼ ▼
|
|
42
|
+
🎨 Figma 🐛 Jira 📖 Confluence
|
|
43
|
+
(MCP) (MCP) (MCP)
|
|
41
44
|
```
|
|
42
45
|
|
|
43
46
|
- **Runs locally** — your data never leaves your machine
|
|
@@ -51,15 +54,20 @@ Pilot-AI is a local AI agent that lives on your Mac. Send it natural-language co
|
|
|
51
54
|
- **Browser automation** — navigate, click, screenshot, fill forms via Playwright
|
|
52
55
|
- **File & shell access** — read, write, search files and run shell commands
|
|
53
56
|
- **GitHub integration** — releases, PRs, issues via `gh` CLI
|
|
54
|
-
- **Notion integration** — search, create, update pages and databases
|
|
55
|
-
- **Google integration** — Gmail, Google Calendar, and Google Drive via OAuth2
|
|
57
|
+
- **Notion integration** — search, create, update pages and databases via MCP
|
|
58
|
+
- **Google integration** — Gmail, Google Calendar, and Google Drive via OAuth2 with automatic token sync
|
|
59
|
+
- **Figma integration** — access designs, components, variables, and comments via MCP
|
|
60
|
+
- **Atlassian integration** — Jira issues/sprints and Confluence pages via MCP
|
|
56
61
|
- **MCP auto-discovery** — agent detects needed MCP servers and proposes installation with one-click approval
|
|
62
|
+
- **Claude Code MCP sync** — auto-registers MCP servers to `~/.claude.json` for native Claude Code access
|
|
63
|
+
- **Keychain-backed secrets** — MCP server credentials stored securely in macOS Keychain with launcher scripts
|
|
57
64
|
- **Coding agent** — writes code, runs builds, executes tests, and iterates until the task is done
|
|
58
|
-
- **Session continuity** — messages in the same thread share a Claude session with
|
|
65
|
+
- **Session continuity** — messages in the same thread share a Claude session with conversation summary buffer
|
|
59
66
|
- **Scheduled tasks** — cron-like jobs with natural language scheduling
|
|
60
67
|
- **Skills system** — teach the agent reusable procedures
|
|
61
68
|
- **Project awareness** — resolves projects, remembers context per project
|
|
62
|
-
- **Live status updates** — see what the agent is doing in real-time
|
|
69
|
+
- **Live status updates** — see what the agent is doing in real-time
|
|
70
|
+
- **Token health checker** — automatically refreshes and monitors OAuth token validity
|
|
63
71
|
- **Credential management** — agent can request and store API keys via chat
|
|
64
72
|
- **Safety controls** — dangerous actions require explicit approval via messenger buttons
|
|
65
73
|
|
|
@@ -91,7 +99,7 @@ The interactive wizard guides you through:
|
|
|
91
99
|
|
|
92
100
|
1. **Claude connection** — detects CLI auth or configures API key
|
|
93
101
|
2. **Messenger** — choose Slack or Telegram, enter tokens
|
|
94
|
-
3. **Integrations** — optionally connect Google (Gmail, Calendar, Drive), Notion,
|
|
102
|
+
3. **Integrations** — optionally connect Google (Gmail, Calendar, Drive), Notion, Figma, Linear, Jira, Confluence
|
|
95
103
|
4. **Browser** — installs Playwright Chromium
|
|
96
104
|
5. **Permissions** — requests macOS permissions (Accessibility, Automation, etc.)
|
|
97
105
|
|
|
@@ -125,6 +133,7 @@ Just message your agent in Slack or Telegram:
|
|
|
125
133
|
| `Check my Google Calendar for today's schedule` | Reads Google Calendar events and summarizes |
|
|
126
134
|
| `Send a draft email to john@example.com` | Composes a Gmail draft with the given content |
|
|
127
135
|
| `List files in my Google Drive "Projects" folder` | Browses Google Drive and lists folder contents |
|
|
136
|
+
| `Show me the latest Figma designs for the homepage` | Fetches Figma file data and component details |
|
|
128
137
|
|
|
129
138
|
### Coding Sessions
|
|
130
139
|
|
|
@@ -199,14 +208,31 @@ The agent writes a PRD and checklist before touching any code, gets your confirm
|
|
|
199
208
|
## CLI Reference
|
|
200
209
|
|
|
201
210
|
```bash
|
|
202
|
-
|
|
203
|
-
pilot-ai
|
|
204
|
-
pilot-ai
|
|
205
|
-
pilot-ai
|
|
206
|
-
pilot-ai
|
|
211
|
+
# Core
|
|
212
|
+
pilot-ai init # Interactive setup wizard
|
|
213
|
+
pilot-ai start [-f] # Start agent daemon (-f to follow logs)
|
|
214
|
+
pilot-ai stop # Stop agent daemon
|
|
215
|
+
pilot-ai status # Check if agent is running
|
|
216
|
+
pilot-ai logs [-f] # View agent logs
|
|
217
|
+
pilot-ai doctor # Diagnose system requirements and macOS permissions
|
|
218
|
+
|
|
219
|
+
# User management
|
|
207
220
|
pilot-ai adduser <platform> <userId> # Authorize a user
|
|
208
221
|
pilot-ai removeuser <platform> <userId> # Remove a user
|
|
209
|
-
pilot-ai listusers
|
|
222
|
+
pilot-ai listusers # List authorized users
|
|
223
|
+
|
|
224
|
+
# Tool / MCP management
|
|
225
|
+
pilot-ai tools # List all available tools with active/inactive status
|
|
226
|
+
pilot-ai addtool <name> # Add and configure a tool (e.g. notion, figma, gmail)
|
|
227
|
+
pilot-ai removetool <name> # Remove a tool
|
|
228
|
+
pilot-ai sync-mcp # Sync MCP servers to Claude Code native settings
|
|
229
|
+
|
|
230
|
+
# Authentication
|
|
231
|
+
pilot-ai auth google [--services gmail,calendar,drive] # Google OAuth login
|
|
232
|
+
pilot-ai auth google --revoke # Revoke Google tokens
|
|
233
|
+
pilot-ai auth figma # Figma authentication guide
|
|
234
|
+
|
|
235
|
+
# Project management
|
|
210
236
|
pilot-ai project add <name> <path> # Register a project
|
|
211
237
|
pilot-ai project list # List projects
|
|
212
238
|
pilot-ai project remove <name> # Remove a project
|
|
@@ -259,15 +285,19 @@ Enable the following APIs for your project:
|
|
|
259
285
|
|
|
260
286
|
Run `pilot-ai init` and select **Yes** when asked about Google integration. Enter your Client ID and Client Secret, and choose which services to enable.
|
|
261
287
|
|
|
288
|
+
Alternatively, use the CLI:
|
|
289
|
+
```bash
|
|
290
|
+
pilot-ai auth google --services gmail,calendar,drive
|
|
291
|
+
```
|
|
292
|
+
|
|
262
293
|
### 5. Authorize on First Use
|
|
263
294
|
|
|
264
295
|
When you first ask the agent to access Gmail, Calendar, or Drive, it will:
|
|
265
|
-
1.
|
|
266
|
-
2. You
|
|
267
|
-
3.
|
|
268
|
-
4. The agent stores the tokens securely and proceeds with the task
|
|
296
|
+
1. Open a local OAuth loopback server and launch your browser
|
|
297
|
+
2. You grant permissions in the browser
|
|
298
|
+
3. The agent stores the tokens securely in macOS Keychain and proceeds with the task
|
|
269
299
|
|
|
270
|
-
After initial authorization, tokens refresh automatically —
|
|
300
|
+
After initial authorization, tokens refresh automatically — the token health checker monitors validity and refreshes as needed.
|
|
271
301
|
|
|
272
302
|
### Supported Commands
|
|
273
303
|
|
|
@@ -277,70 +307,121 @@ After initial authorization, tokens refresh automatically — no further action
|
|
|
277
307
|
| **Google Calendar** | `What's on my calendar today?`, `Schedule a meeting tomorrow at 2pm`, `Find free time this week` |
|
|
278
308
|
| **Google Drive** | `List files in my Drive`, `Search for "budget" in Drive`, `Read the contents of "Meeting Notes"` |
|
|
279
309
|
|
|
280
|
-
## MCP Server
|
|
310
|
+
## MCP Server Management
|
|
281
311
|
|
|
282
|
-
Pilot-AI includes a built-in registry of
|
|
312
|
+
Pilot-AI includes a built-in registry of 18+ MCP (Model Context Protocol) servers. Instead of manually configuring each integration, the agent **automatically detects** when a task needs an MCP server and proposes installation.
|
|
283
313
|
|
|
284
314
|
### How it works
|
|
285
315
|
|
|
286
316
|
1. You ask the agent to do something (e.g., "Check my Sentry errors")
|
|
287
317
|
2. The agent detects that the Sentry MCP server would help
|
|
288
318
|
3. It sends you an approval message via Slack/Telegram:
|
|
289
|
-
>
|
|
290
|
-
> Package: `@
|
|
319
|
+
> **MCP Server: Sentry** — View and manage Sentry error tracking issues
|
|
320
|
+
> Package: `@sentry/mcp-server`
|
|
291
321
|
> Required: SENTRY_AUTH_TOKEN
|
|
292
322
|
4. You approve and provide the required credentials
|
|
293
|
-
5. The server is installed and immediately available
|
|
323
|
+
5. The server is installed, credentials stored in Keychain, and immediately available
|
|
294
324
|
|
|
295
325
|
### Built-in Registry
|
|
296
326
|
|
|
297
327
|
| Category | Servers |
|
|
298
328
|
|----------|---------|
|
|
299
329
|
| **Design** | Figma |
|
|
300
|
-
| **Development** | GitHub, Sentry, Puppeteer, Filesystem |
|
|
301
|
-
| **Productivity** | Notion, Google Drive, Memory, Brave Search |
|
|
302
|
-
| **Communication** | Slack |
|
|
330
|
+
| **Development** | GitHub, Sentry, Puppeteer, Filesystem, Jira |
|
|
331
|
+
| **Productivity** | Notion, Google Drive, Google Calendar, Memory, Brave Search, Confluence, Wiki (MediaWiki) |
|
|
332
|
+
| **Communication** | Slack, Gmail |
|
|
303
333
|
| **Data** | PostgreSQL, SQLite |
|
|
304
334
|
|
|
305
|
-
|
|
335
|
+
### CLI Management
|
|
336
|
+
|
|
337
|
+
```bash
|
|
338
|
+
pilot-ai tools # List all tools with status
|
|
339
|
+
pilot-ai addtool notion # Install and configure Notion MCP
|
|
340
|
+
pilot-ai removetool notion # Remove Notion MCP
|
|
341
|
+
pilot-ai sync-mcp # Sync to Claude Code native settings
|
|
342
|
+
```
|
|
343
|
+
|
|
344
|
+
You can also manage MCP servers conversationally: `Install the GitHub MCP server`, `Remove the Slack MCP server`, or `List MCP servers`.
|
|
306
345
|
|
|
307
346
|
## Architecture
|
|
308
347
|
|
|
309
348
|
```
|
|
310
349
|
src/
|
|
311
|
-
├── index.ts
|
|
312
|
-
├── cli/
|
|
350
|
+
├── index.ts # CLI entry point (commander.js)
|
|
351
|
+
├── cli/ # CLI subcommands
|
|
352
|
+
│ ├── init.ts # Interactive setup wizard
|
|
353
|
+
│ ├── start.ts / stop.ts # Daemon lifecycle
|
|
354
|
+
│ ├── status.ts / logs.ts # Monitoring
|
|
355
|
+
│ ├── doctor.ts # System diagnostics
|
|
356
|
+
│ ├── tools.ts # MCP tool management (addtool/removetool/sync-mcp)
|
|
357
|
+
│ ├── auth.ts # OAuth authentication (google/figma)
|
|
358
|
+
│ ├── user.ts # User allowlist management
|
|
359
|
+
│ ├── project.ts # Project registry
|
|
360
|
+
│ └── connection-test.ts # Connection verification
|
|
313
361
|
├── agent/
|
|
314
|
-
│ ├── core.ts
|
|
315
|
-
│ ├── claude.ts
|
|
316
|
-
│ ├──
|
|
317
|
-
│ ├──
|
|
318
|
-
│ ├──
|
|
319
|
-
│
|
|
362
|
+
│ ├── core.ts # Main agent loop: message → auth → Claude → response
|
|
363
|
+
│ ├── claude.ts # Claude Code CLI subprocess with streaming JSONL parsing
|
|
364
|
+
│ ├── session.ts # Thread-to-session mapping
|
|
365
|
+
│ ├── conversation-summary.ts # Conversation summary buffer for thread continuity
|
|
366
|
+
│ ├── heartbeat.ts # Cron scheduler + approval flow
|
|
367
|
+
│ ├── skills.ts # Teachable skill engine
|
|
368
|
+
│ ├── memory.ts # Per-project memory context
|
|
369
|
+
│ ├── safety.ts # Dangerous action approval manager
|
|
370
|
+
│ ├── planner.ts # PRD/checklist-driven development workflow
|
|
371
|
+
│ ├── mcp-manager.ts # MCP server lifecycle management
|
|
372
|
+
│ ├── mcp-launcher.ts # Keychain-backed MCP launcher scripts
|
|
373
|
+
│ ├── token-refresher.ts # OAuth token health monitoring and auto-refresh
|
|
374
|
+
│ ├── project.ts # Project resolution and analysis
|
|
375
|
+
│ ├── project-analyzer.ts # Project structure analysis
|
|
376
|
+
│ ├── queue.ts # Message queue
|
|
377
|
+
│ ├── pipeline.ts # Message processing pipeline
|
|
378
|
+
│ ├── multi-agent.ts # Multi-agent coordination
|
|
379
|
+
│ ├── worktree.ts # Git worktree management
|
|
380
|
+
│ └── tool-descriptions.ts # Tool description registry
|
|
320
381
|
├── messenger/
|
|
321
|
-
│ ├── adapter.ts
|
|
322
|
-
│ ├──
|
|
323
|
-
│
|
|
324
|
-
├──
|
|
382
|
+
│ ├── adapter.ts # MessengerAdapter interface
|
|
383
|
+
│ ├── factory.ts # Messenger factory
|
|
384
|
+
│ ├── slack.ts # Slack Bolt SDK (Socket Mode)
|
|
385
|
+
│ ├── telegram.ts # Telegraf (Long Polling)
|
|
386
|
+
│ └── split.ts # Long message splitting
|
|
387
|
+
├── tools/ # Tool wrappers and MCP integrations
|
|
388
|
+
│ ├── mcp-registry.ts # Built-in MCP server registry (18+ servers)
|
|
389
|
+
│ ├── google-auth.ts # Shared Google OAuth module
|
|
390
|
+
│ ├── browser.ts # Playwright browser automation
|
|
391
|
+
│ ├── filesystem.ts # File read/write/search
|
|
392
|
+
│ ├── shell.ts # Shell command execution
|
|
393
|
+
│ ├── github.ts # GitHub CLI integration
|
|
394
|
+
│ ├── notion.ts # Notion API
|
|
395
|
+
│ ├── figma.ts / figma-mcp.ts # Figma integration
|
|
396
|
+
│ ├── email.ts # Gmail
|
|
397
|
+
│ ├── google-calendar.ts # Google Calendar
|
|
398
|
+
│ ├── google-drive.ts # Google Drive
|
|
399
|
+
│ ├── linear.ts # Linear
|
|
400
|
+
│ └── ... # clipboard, image, notification, obsidian, voice, vscode
|
|
325
401
|
├── security/
|
|
326
|
-
│ ├── auth.ts
|
|
327
|
-
│ ├── permissions.ts
|
|
328
|
-
│ ├── audit.ts
|
|
329
|
-
│
|
|
402
|
+
│ ├── auth.ts # User allowlist check
|
|
403
|
+
│ ├── permissions.ts # macOS TCC permission management
|
|
404
|
+
│ ├── audit.ts # Audit logging
|
|
405
|
+
│ ├── prompt-guard.ts # Prompt injection detection
|
|
406
|
+
│ └── sandbox.ts # Filesystem sandbox
|
|
330
407
|
└── config/
|
|
331
|
-
├── schema.ts
|
|
332
|
-
├── store.ts
|
|
333
|
-
|
|
408
|
+
├── schema.ts # Config schema (zod)
|
|
409
|
+
├── store.ts # ~/.pilot/ config + credentials store
|
|
410
|
+
├── keychain.ts # macOS Keychain integration
|
|
411
|
+
├── claude-code-sync.ts # Sync MCP config to ~/.claude.json
|
|
412
|
+
└── claude-code-sync.test.ts
|
|
334
413
|
```
|
|
335
414
|
|
|
336
415
|
## How It Stays Secure
|
|
337
416
|
|
|
338
417
|
- **User allowlist** — only authorized Slack/Telegram user IDs can interact
|
|
339
418
|
- **Approval flow** — dangerous actions (file deletion, shell commands, etc.) prompt for confirmation via messenger buttons
|
|
340
|
-
- **macOS Keychain** — all tokens
|
|
419
|
+
- **macOS Keychain** — all tokens, API keys, and MCP secrets are stored encrypted in Keychain
|
|
420
|
+
- **Keychain-backed launchers** — MCP servers receive secrets via launcher scripts that read from Keychain at runtime, never from disk
|
|
341
421
|
- **Filesystem sandbox** — configurable allowed/blocked paths
|
|
342
422
|
- **Audit log** — every command and result is logged to `~/.pilot/logs/audit.jsonl`
|
|
343
|
-
- **Prompt injection guard** —
|
|
423
|
+
- **Prompt injection guard** — detection for prompt injection attempts
|
|
424
|
+
- **Token health monitoring** — OAuth tokens are automatically validated and refreshed
|
|
344
425
|
|
|
345
426
|
## Configuration
|
|
346
427
|
|
|
@@ -350,6 +431,8 @@ All config lives in `~/.pilot/`:
|
|
|
350
431
|
~/.pilot/
|
|
351
432
|
├── config.json # Main configuration
|
|
352
433
|
├── credentials/ # Service API keys (chmod 700)
|
|
434
|
+
├── mcp-config.json # MCP server configuration
|
|
435
|
+
├── mcp-launchers/ # Keychain-backed MCP launcher scripts
|
|
353
436
|
├── memory/ # Agent memory per project
|
|
354
437
|
├── skills/ # Registered skills
|
|
355
438
|
└── logs/ # Agent and audit logs
|
package/dist/agent/core.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"core.d.ts","sourceRoot":"","sources":["../../src/agent/core.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAmB,MAAM,yBAAyB,CAAC;AACjF,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"core.d.ts","sourceRoot":"","sources":["../../src/agent/core.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAmB,MAAM,yBAAyB,CAAC;AACjF,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AA2BvD,qBAAa,SAAS;IACpB,OAAO,CAAC,SAAS,CAAmB;IACpC,OAAO,CAAC,MAAM,CAAc;IAC5B,OAAO,CAAC,eAAe,CAAkB;IACzC,OAAO,CAAC,iBAAiB,CAAoB;IAC7C,OAAO,CAAC,mBAAmB,CAA+C;gBAE9D,SAAS,EAAE,gBAAgB,EAAE,MAAM,EAAE,WAAW;IAkB5D,OAAO,CAAC,aAAa;IAOf,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;YA8Ed,eAAe;IAoBvB,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;YAWb,aAAa;IAmH3B;;;OAGG;YACW,uBAAuB;CAgMtC"}
|
package/dist/agent/core.js
CHANGED
|
@@ -10,14 +10,15 @@ import { analyzeProjectIfNew } from './project-analyzer.js';
|
|
|
10
10
|
import { buildSkillsContext } from './skills.js';
|
|
11
11
|
import { buildToolDescriptions } from './tool-descriptions.js';
|
|
12
12
|
import { getMcpConfigPathIfExists } from '../tools/figma-mcp.js';
|
|
13
|
-
import { buildMcpContext, migrateToSecureLaunchers } from './mcp-manager.js';
|
|
13
|
+
import { buildMcpContext, migrateToSecureLaunchers, checkAllMcpServerStatus } from './mcp-manager.js';
|
|
14
14
|
import { PilotError } from '../utils/errors.js';
|
|
15
15
|
import { getSession, createSession, touchSession, deleteSession, cleanupSessions, getRemainingTurns } from './session.js';
|
|
16
16
|
import { updateConversationSummary, getConversationSummaryText, cleanupExpiredSummaries } from './conversation-summary.js';
|
|
17
17
|
import { detectPermissionError, PermissionWatcher } from '../security/permissions.js';
|
|
18
18
|
import { isGhAuthenticated } from '../tools/github.js';
|
|
19
|
-
import { configureGoogle } from '../tools/google-auth.js';
|
|
19
|
+
import { configureGoogle, loadGoogleTokens } from '../tools/google-auth.js';
|
|
20
20
|
import { startTokenRefresher, stopTokenRefresher } from './token-refresher.js';
|
|
21
|
+
import { loadMcpConfig } from '../tools/figma-mcp.js';
|
|
21
22
|
function log(message) {
|
|
22
23
|
console.log(`[${new Date().toISOString()}] ${message}`);
|
|
23
24
|
}
|
|
@@ -64,25 +65,60 @@ export class AgentCore {
|
|
|
64
65
|
await this.permissionWatcher.start();
|
|
65
66
|
log('Permission watcher started.');
|
|
66
67
|
// Check GitHub auth status on startup and periodically (every hour)
|
|
67
|
-
|
|
68
|
+
// Only if github MCP server is registered in mcp-config.json
|
|
68
69
|
if (this.config.github?.enabled) {
|
|
69
|
-
|
|
70
|
+
const mcpConfigForGh = await loadMcpConfig();
|
|
71
|
+
if ('github' in mcpConfigForGh.mcpServers) {
|
|
70
72
|
this.checkGitHubAuth().catch(() => { });
|
|
71
|
-
|
|
73
|
+
this.githubCheckInterval = setInterval(() => {
|
|
74
|
+
this.checkGitHubAuth().catch(() => { });
|
|
75
|
+
}, 60 * 60 * 1000);
|
|
76
|
+
}
|
|
77
|
+
else {
|
|
78
|
+
log('GitHub enabled in config but not registered as MCP server. Skipping auth check.');
|
|
79
|
+
}
|
|
72
80
|
}
|
|
73
81
|
// Migrate existing MCP servers to secure Keychain-backed launchers
|
|
74
82
|
const migration = await migrateToSecureLaunchers();
|
|
75
83
|
if (migration.migrated.length > 0) {
|
|
76
84
|
log(`Migrated MCP servers to secure launchers: ${migration.migrated.join(', ')}`);
|
|
77
85
|
}
|
|
78
|
-
// Start periodic Google OAuth token health checker
|
|
86
|
+
// Start periodic Google OAuth token health checker (only if tokens exist AND MCP servers registered)
|
|
79
87
|
if (this.config.google) {
|
|
80
|
-
const
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
const
|
|
84
|
-
|
|
85
|
-
|
|
88
|
+
const tokens = await loadGoogleTokens();
|
|
89
|
+
const mcpConfig = await loadMcpConfig();
|
|
90
|
+
const googleServerIds = ['gmail', 'google-calendar', 'google-drive'];
|
|
91
|
+
const hasGoogleMcp = googleServerIds.some(id => id in mcpConfig.mcpServers);
|
|
92
|
+
if (tokens && hasGoogleMcp) {
|
|
93
|
+
const users = this.config.messenger.platform === 'slack'
|
|
94
|
+
? this.config.security.allowedUsers.slack
|
|
95
|
+
: this.config.security.allowedUsers.telegram;
|
|
96
|
+
const notifyChannel = users.length > 0 ? users[0] : undefined;
|
|
97
|
+
startTokenRefresher(notifyChannel ? this.messenger : undefined, notifyChannel);
|
|
98
|
+
log('Google token refresher started.');
|
|
99
|
+
}
|
|
100
|
+
else if (!tokens && hasGoogleMcp) {
|
|
101
|
+
log('Google MCP servers registered but no tokens found. Run "pilot-ai auth google".');
|
|
102
|
+
}
|
|
103
|
+
else if (tokens && !hasGoogleMcp) {
|
|
104
|
+
log('Google tokens found but no MCP servers registered. Skipping token refresher.');
|
|
105
|
+
}
|
|
106
|
+
else {
|
|
107
|
+
log('Google OAuth configured but not active on this device.');
|
|
108
|
+
}
|
|
109
|
+
}
|
|
110
|
+
// MCP server credential status summary
|
|
111
|
+
const mcpStatuses = await checkAllMcpServerStatus();
|
|
112
|
+
if (mcpStatuses.length > 0) {
|
|
113
|
+
const summary = mcpStatuses.map(s => `${s.serverId}(${s.status})`).join(', ');
|
|
114
|
+
log(`MCP servers: ${summary}`);
|
|
115
|
+
const authRequired = mcpStatuses.filter(s => s.status === 'auth_required');
|
|
116
|
+
if (authRequired.length > 0) {
|
|
117
|
+
for (const s of authRequired) {
|
|
118
|
+
log(` ⚠ ${s.serverId}: ${s.message}`);
|
|
119
|
+
}
|
|
120
|
+
log(`Run 'pilot-ai addtool <name>' to re-authenticate.`);
|
|
121
|
+
}
|
|
86
122
|
}
|
|
87
123
|
}
|
|
88
124
|
async checkGitHubAuth() {
|
package/dist/agent/core.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"core.js","sourceRoot":"","sources":["../../src/agent/core.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"core.js","sourceRoot":"","sources":["../../src/agent/core.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mcp-launcher.d.ts","sourceRoot":"","sources":["../../src/agent/mcp-launcher.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"mcp-launcher.d.ts","sourceRoot":"","sources":["../../src/agent/mcp-launcher.ts"],"names":[],"mappings":"AAuBA,wBAAgB,eAAe,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAExD;AAED;;;;;;;;;GASG;AACH,wBAAsB,sBAAsB,CAC1C,QAAQ,EAAE,MAAM,EAChB,UAAU,EAAE,MAAM,EAClB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAC/B,SAAS,GAAE,MAAM,EAAO,EACxB,YAAY,GAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAM,GACxC,OAAO,CAAC,MAAM,CAAC,CA6CjB;AAED;;GAEG;AACH,wBAAsB,oBAAoB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAM1E;AAED;;GAEG;AACH,wBAAsB,iBAAiB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAO1E;AAED;;;;GAIG;AACH,wBAAgB,eAAe,CAC7B,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAChC;IAAE,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAAC,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;CAAE,CAazE"}
|
|
@@ -9,7 +9,10 @@
|
|
|
9
9
|
*/
|
|
10
10
|
import fs from 'node:fs/promises';
|
|
11
11
|
import path from 'node:path';
|
|
12
|
+
import { execFile } from 'node:child_process';
|
|
13
|
+
import { promisify } from 'node:util';
|
|
12
14
|
import { getPilotDir } from '../config/store.js';
|
|
15
|
+
const execFileAsync = promisify(execFile);
|
|
13
16
|
const LAUNCHERS_DIR = 'mcp-launchers';
|
|
14
17
|
function getLaunchersDir() {
|
|
15
18
|
return path.join(getPilotDir(), LAUNCHERS_DIR);
|
|
@@ -31,12 +34,17 @@ export async function generateLauncherScript(serverId, npmPackage, envKeys, extr
|
|
|
31
34
|
const launcherPath = getLauncherPath(serverId);
|
|
32
35
|
// Ensure directory exists with restricted permissions
|
|
33
36
|
await fs.mkdir(getLaunchersDir(), { recursive: true, mode: 0o700 });
|
|
37
|
+
// Resolve absolute npx path for reliable execution in launchd
|
|
38
|
+
const npxPath = await resolveNpxPath();
|
|
34
39
|
const lines = [
|
|
35
40
|
'#!/bin/bash',
|
|
36
41
|
'# Auto-generated by pilot-ai. Do not edit manually.',
|
|
37
42
|
`# MCP launcher for: ${serverId}`,
|
|
38
43
|
'# Secrets are read from macOS Keychain at runtime.',
|
|
39
44
|
'',
|
|
45
|
+
'# Ensure PATH includes common binary locations (launchd has minimal PATH)',
|
|
46
|
+
'export PATH="/opt/homebrew/bin:/usr/local/bin:/usr/bin:/bin:$PATH"',
|
|
47
|
+
'',
|
|
40
48
|
];
|
|
41
49
|
// Add non-secret env vars directly
|
|
42
50
|
for (const [key, value] of Object.entries(nonSecretEnv)) {
|
|
@@ -49,9 +57,9 @@ export async function generateLauncherScript(serverId, npmPackage, envKeys, extr
|
|
|
49
57
|
if (Object.keys(envKeys).length > 0 || Object.keys(nonSecretEnv).length > 0) {
|
|
50
58
|
lines.push('');
|
|
51
59
|
}
|
|
52
|
-
// exec the MCP server
|
|
60
|
+
// exec the MCP server using absolute npx path
|
|
53
61
|
const argsStr = extraArgs.length > 0 ? ` ${extraArgs.map(shellEscape).join(' ')}` : '';
|
|
54
|
-
lines.push(`exec
|
|
62
|
+
lines.push(`exec ${shellEscape(npxPath)} -y ${shellEscape(npmPackage)}${argsStr}`);
|
|
55
63
|
lines.push('');
|
|
56
64
|
const script = lines.join('\n');
|
|
57
65
|
await fs.writeFile(launcherPath, script, { mode: 0o700 });
|
|
@@ -109,7 +117,7 @@ function isNonSecretEnvVar(key, value) {
|
|
|
109
117
|
}
|
|
110
118
|
// Known non-secret env var patterns
|
|
111
119
|
const nonSecretPatterns = [
|
|
112
|
-
'SITE_NAME', 'USER_EMAIL', 'TEAM_ID',
|
|
120
|
+
'SITE_NAME', 'SITE_URL', 'USER_EMAIL', 'TEAM_ID',
|
|
113
121
|
'_PATH', '_DIR', '_FILE', '_CONFIG',
|
|
114
122
|
'_PORT',
|
|
115
123
|
];
|
|
@@ -122,6 +130,19 @@ function isNonSecretEnvVar(key, value) {
|
|
|
122
130
|
}
|
|
123
131
|
return false;
|
|
124
132
|
}
|
|
133
|
+
/**
|
|
134
|
+
* Resolves the absolute path to npx binary.
|
|
135
|
+
* Falls back to 'npx' if resolution fails.
|
|
136
|
+
*/
|
|
137
|
+
async function resolveNpxPath() {
|
|
138
|
+
try {
|
|
139
|
+
const { stdout } = await execFileAsync('which', ['npx']);
|
|
140
|
+
return stdout.trim();
|
|
141
|
+
}
|
|
142
|
+
catch {
|
|
143
|
+
return 'npx';
|
|
144
|
+
}
|
|
145
|
+
}
|
|
125
146
|
/**
|
|
126
147
|
* Shell-escapes a string for safe use in a bash script.
|
|
127
148
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mcp-launcher.js","sourceRoot":"","sources":["../../src/agent/mcp-launcher.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AACH,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAClC,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAEjD,MAAM,aAAa,GAAG,eAAe,CAAC;AAEtC,SAAS,eAAe;IACtB,OAAO,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,EAAE,aAAa,CAAC,CAAC;AACjD,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,QAAgB;IAC9C,OAAO,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE,EAAE,GAAG,QAAQ,KAAK,CAAC,CAAC;AACxD,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,CAAC,KAAK,UAAU,sBAAsB,CAC1C,QAAgB,EAChB,UAAkB,EAClB,OAA+B,EAC/B,YAAsB,EAAE,EACxB,eAAuC,EAAE;IAEzC,MAAM,YAAY,GAAG,eAAe,CAAC,QAAQ,CAAC,CAAC;IAE/C,sDAAsD;IACtD,MAAM,EAAE,CAAC,KAAK,CAAC,eAAe,EAAE,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;IAEpE,MAAM,KAAK,GAAa;QACtB,aAAa;QACb,qDAAqD;QACrD,uBAAuB,QAAQ,EAAE;QACjC,oDAAoD;QACpD,EAAE;KACH,CAAC;IAEF,mCAAmC;IACnC,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,YAAY,CAAC,EAAE,CAAC;QACxD,KAAK,CAAC,IAAI,CAAC,UAAU,GAAG,IAAI,WAAW,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;IACpD,CAAC;IAED,sCAAsC;IACtC,KAAK,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;QAC5D,KAAK,CAAC,IAAI,CACR,UAAU,MAAM,wCAAwC,WAAW,CAAC,YAAY,WAAW,EAAE,CAAC,gCAAgC,CAC/H,CAAC;IACJ,CAAC;IAED,IAAI,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,MAAM,GAAG,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC5E,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACjB,CAAC;IAED,
|
|
1
|
+
{"version":3,"file":"mcp-launcher.js","sourceRoot":"","sources":["../../src/agent/mcp-launcher.ts"],"names":[],"mappings":"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"}
|
|
@@ -54,4 +54,21 @@ export declare function migrateToSecureLaunchers(): Promise<{
|
|
|
54
54
|
migrated: string[];
|
|
55
55
|
skipped: string[];
|
|
56
56
|
}>;
|
|
57
|
+
export type McpServerStatus = 'ready' | 'connecting' | 'auth_required' | 'not_registered' | 'error';
|
|
58
|
+
export interface McpServerStatusResult {
|
|
59
|
+
serverId: string;
|
|
60
|
+
status: McpServerStatus;
|
|
61
|
+
message?: string;
|
|
62
|
+
}
|
|
63
|
+
/**
|
|
64
|
+
* Parses a launcher script to extract keychain keys used for secrets.
|
|
65
|
+
* Returns the raw keychain keys (without the "pilot-ai:" service prefix).
|
|
66
|
+
*/
|
|
67
|
+
export declare function getSecretKeysForServer(launcherPath: string): Promise<string[]>;
|
|
68
|
+
/**
|
|
69
|
+
* Checks the credential status of all registered MCP servers.
|
|
70
|
+
* For launcher-based servers, verifies that all required Keychain entries exist.
|
|
71
|
+
* For direct/HTTP servers, reports as ready (credentials are inline or managed externally).
|
|
72
|
+
*/
|
|
73
|
+
export declare function checkAllMcpServerStatus(): Promise<McpServerStatusResult[]>;
|
|
57
74
|
//# sourceMappingURL=mcp-manager.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mcp-manager.d.ts","sourceRoot":"","sources":["../../src/agent/mcp-manager.ts"],"names":[],"mappings":"AAQA,OAAO,EAAuD,KAAK,cAAc,EAAE,MAAM,0BAA0B,CAAC;
|
|
1
|
+
{"version":3,"file":"mcp-manager.d.ts","sourceRoot":"","sources":["../../src/agent/mcp-manager.ts"],"names":[],"mappings":"AAQA,OAAO,EAAuD,KAAK,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAUpH,MAAM,WAAW,iBAAiB;IAChC,MAAM,EAAE,cAAc,CAAC;IACvB,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACnC;AAED;;GAEG;AACH,wBAAsB,mBAAmB,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC,CAG7D;AAED;;;GAGG;AACH,wBAAsB,mBAAmB,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,EAAE,CAAC,CAMxF;AAED;;;;;GAKG;AACH,MAAM,WAAW,iBAAiB;IAChC,4EAA4E;IAC5E,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB;AAED,wBAAsB,gBAAgB,CACpC,QAAQ,EAAE,MAAM,EAChB,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EACjC,OAAO,GAAE,iBAAsB,GAC9B,OAAO,CAAC;IAAE,OAAO,EAAE,OAAO,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,CA8F/C;AA0BD;;GAEG;AACH,wBAAsB,kBAAkB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAUxE;AAED;;GAEG;AACH,wBAAsB,oBAAoB,IAAI,OAAO,CAAC,KAAK,CAAC,cAAc,GAAG;IAAE,SAAS,EAAE,OAAO,CAAA;CAAE,CAAC,CAAC,CAMpG;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,cAAc,GAAG,MAAM,CAgBnE;AAED;;;GAGG;AACH,wBAAsB,eAAe,IAAI,OAAO,CAAC,MAAM,CAAC,CAwCvD;AAMD;;;;GAIG;AACH,wBAAsB,wBAAwB,IAAI,OAAO,CAAC;IAAE,QAAQ,EAAE,MAAM,EAAE,CAAC;IAAC,OAAO,EAAE,MAAM,EAAE,CAAA;CAAE,CAAC,CAsEnG;AAID,MAAM,MAAM,eAAe,GAAG,OAAO,GAAG,YAAY,GAAG,eAAe,GAAG,gBAAgB,GAAG,OAAO,CAAC;AAEpG,MAAM,WAAW,qBAAqB;IACpC,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,eAAe,CAAC;IACxB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED;;;GAGG;AACH,wBAAsB,sBAAsB,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAcpF;AAED;;;;GAIG;AACH,wBAAsB,uBAAuB,IAAI,OAAO,CAAC,qBAAqB,EAAE,CAAC,CAgDhF"}
|