@geekbeer/minion 3.8.0 → 3.8.1

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/core/config.js CHANGED
@@ -75,6 +75,7 @@ const config = {
75
75
  HQ_URL: process.env.HQ_URL || '',
76
76
  API_TOKEN: process.env.API_TOKEN || '',
77
77
  MINION_ID: process.env.MINION_ID || '',
78
+ MINION_EMAIL: process.env.MINION_ID ? `m-${process.env.MINION_ID}@minion-agent.com` : '',
78
79
 
79
80
  // Server settings
80
81
  AGENT_PORT: parseInt(process.env.AGENT_PORT, 10) || 8080,
@@ -111,6 +112,12 @@ function validate() {
111
112
  } else {
112
113
  console.log('[Config] HQ not configured, running in standalone mode')
113
114
  }
115
+
116
+ // Expose MINION_EMAIL to child processes (e.g. Claude Code, Gemini CLI)
117
+ if (config.MINION_EMAIL) {
118
+ process.env.MINION_EMAIL = config.MINION_EMAIL
119
+ console.log(`[Config] Email: ${config.MINION_EMAIL}`)
120
+ }
114
121
  }
115
122
 
116
123
  /**
@@ -443,6 +443,94 @@ POST `/api/project-memories` body:
443
443
  3. 該当なし → `POST /api/threads` でブロッカー起票(プロジェクトなら `scope: "project"` + `project_id`、ルーティンなら `scope: "workspace"`)
444
444
  4. 解決後 → プロジェクトスレッドの場合は `POST /api/project-memories` で知見を蓄積
445
445
 
446
+ ### Email
447
+
448
+ ミニオン専用メールアドレス (`m-{MINION_ID}@minion-agent.com`) 宛のメールを管理する。
449
+ メールは Cloudflare Email Worker → HQ → ミニオンの経路で自動受信・保存される。
450
+ 添付ファイルはセキュリティ上、人間が HQ ダッシュボードで承認するまでデータを取得できない。
451
+
452
+ | Method | Endpoint | Description |
453
+ |--------|----------|-------------|
454
+ | GET | `/api/email/inbox/summary` | 未読・合計件数 (`{unread, total, latest_at}`) |
455
+ | GET | `/api/email/inbox` | メール一覧(フィルター対応) |
456
+ | GET | `/api/email/inbox/:id` | メール詳細(添付メタデータ含む) |
457
+ | PUT | `/api/email/inbox/:id` | 既読/未読を更新 |
458
+ | DELETE | `/api/email/inbox/:id` | メールを削除 |
459
+ | POST | `/api/email/inbox/:id/attachments/:attachmentId/approve` | 添付ファイルを承認(HQダッシュボード用) |
460
+ | GET | `/api/email/inbox/:id/attachments/:attachmentId` | 添付ファイルを取得(承認済みのみ) |
461
+
462
+ GET `/api/email/inbox` query parameters:
463
+
464
+ | Param | Description |
465
+ |-------|-------------|
466
+ | `is_read` | `0` (未読) or `1` (既読) でフィルター |
467
+ | `from_address` | 送信元アドレスで部分一致検索 |
468
+ | `search` | 件名・本文でテキスト検索(3文字以上でFTS5使用) |
469
+ | `limit` | 取得件数(デフォルト: 50) |
470
+
471
+ GET `/api/email/inbox/summary` response:
472
+ ```json
473
+ {
474
+ "success": true,
475
+ "summary": { "unread": 3, "total": 12, "latest_at": "2026-04-01T10:30:00Z" }
476
+ }
477
+ ```
478
+
479
+ GET `/api/email/inbox` response:
480
+ ```json
481
+ {
482
+ "success": true,
483
+ "emails": [
484
+ {
485
+ "id": "abc123",
486
+ "from_address": "user@example.com",
487
+ "to_address": "m-uuid@minion-agent.com",
488
+ "subject": "タスクの依頼",
489
+ "body_text": "...",
490
+ "body_html": "...",
491
+ "received_at": "2026-04-01T10:30:00Z",
492
+ "is_read": 0,
493
+ "labels": []
494
+ }
495
+ ]
496
+ }
497
+ ```
498
+
499
+ GET `/api/email/inbox/:id` response (添付ファイル付き):
500
+ ```json
501
+ {
502
+ "success": true,
503
+ "email": {
504
+ "id": "abc123",
505
+ "from_address": "user@example.com",
506
+ "to_address": "m-uuid@minion-agent.com",
507
+ "subject": "資料送付",
508
+ "body_text": "...",
509
+ "body_html": "...",
510
+ "received_at": "2026-04-01T10:30:00Z",
511
+ "is_read": 0,
512
+ "labels": [],
513
+ "attachments": [
514
+ {
515
+ "id": "att456",
516
+ "email_id": "abc123",
517
+ "filename": "report.pdf",
518
+ "content_type": "application/pdf",
519
+ "size_bytes": 102400,
520
+ "approved": 0
521
+ }
522
+ ]
523
+ }
524
+ }
525
+ ```
526
+
527
+ PUT `/api/email/inbox/:id` body:
528
+ ```json
529
+ { "is_read": 1 }
530
+ ```
531
+
532
+ Note: 既読メールは受信後90日で自動削除される。未読メールは保持される。
533
+
446
534
  ### Commands
447
535
 
448
536
  | Method | Endpoint | Description |
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@geekbeer/minion",
3
- "version": "3.8.0",
3
+ "version": "3.8.1",
4
4
  "description": "AI Agent runtime for Minion - manages status and skill deployment on VPS",
5
5
  "main": "linux/server.js",
6
6
  "bin": {
package/rules/core.md CHANGED
@@ -27,6 +27,19 @@ Minion
27
27
  - **Routine**: ミニオンスコープ。ミニオンローカルの定期タスク。
28
28
  - ミニオンは複数プロジェクトに `pm` または `engineer` として参加できる。
29
29
 
30
+ ## Email
31
+
32
+ 各ミニオンには専用メールアドレス `m-{MINION_ID}@minion-agent.com` が割り当てられている。
33
+ 受信メールはローカルSQLiteに自動保存され、Agent APIで確認できる。
34
+
35
+ - **受信確認**: `GET /api/email/inbox/summary` で未読件数を確認
36
+ - **メール一覧**: `GET /api/email/inbox` でメール一覧を取得(フィルター・検索対応)
37
+ - **メール詳細**: `GET /api/email/inbox/:id` で本文・添付ファイルを確認
38
+ - **既読管理**: `PUT /api/email/inbox/:id` で既読/未読を切り替え
39
+ - **添付ファイル**: 添付ファイルはセキュリティ上、人間がHQダッシュボードで承認するまでダウンロード不可
40
+
41
+ API の詳細仕様は `~/.minion/docs/api-reference.md` の「Email」セクションを参照。
42
+
30
43
  ## Available Tools
31
44
 
32
45
  ### CLI
@@ -127,6 +140,7 @@ Note: Codex CLI の `.codex/` ディレクトリはLLMからの直接編集が
127
140
  | `MINION_ID` | UUID assigned by HQ |
128
141
  | `AGENT_PORT` | Agent HTTP port (default: 8080) |
129
142
  | `MINION_USER` | System user running the agent |
143
+ | `MINION_EMAIL` | Minion email address (`m-{MINION_ID}@minion-agent.com`) |
130
144
 
131
145
  Routine 実行中は以下もtmuxセッション環境で利用可能:
132
146
  - `MINION_EXECUTION_ID` — 実行UUID