opencode-orchestrator 0.8.13 β†’ 0.8.14

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.
Files changed (2) hide show
  1. package/README.md +76 -64
  2. package/package.json +1 -1
package/README.md CHANGED
@@ -30,97 +30,109 @@ Multi-agent system that autonomously executes complex tasks. Commander delegates
30
30
 
31
31
  ## πŸ›οΈ Architecture Overview
32
32
 
33
- ### πŸš€ User Flow Architecture
33
+ ### πŸš€ User Flow: Real Scenario
34
+
35
+ > **Example:** `/task "Build a REST API with user authentication"`
34
36
 
35
37
  ```
36
38
  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
37
- β”‚ πŸ‘€ USER REQUEST β”‚
38
- β”‚ /task "Build a REST API" β”‚
39
+ β”‚ πŸ‘€ USER: /task "Build a REST API with user authentication" β”‚
39
40
  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
40
41
  β”‚
41
42
  β–Ό
42
43
  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
43
- β”‚ chat.message-handler.ts β”‚
44
- β”‚ β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”‚
45
- β”‚ β”‚ 1. Detect /task command β”‚ β”‚
46
- β”‚ β”‚ 2. Create SessionState in sessions Map β”‚ β”‚
47
- β”‚ β”‚ 3. Call startMissionLoop() β†’ Write .opencode/loop-state.json β”‚ β”‚
48
- β”‚ β”‚ 4. Apply mission template + Inject prompt to Commander β”‚ β”‚
49
- β”‚ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β”‚
44
+ β”‚ 🎯 COMMANDER (Master Session) β”‚
45
+ β”‚ β”‚
46
+ β”‚ "I'll break this into parallel tasks and delegate to specialized agents" β”‚
47
+ β”‚ β”‚
48
+ β”‚ β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”‚
49
+ β”‚ β”‚ πŸ“‹ Creates TODO.md: β”‚ β”‚
50
+ β”‚ β”‚ - [ ] Research: Express.js + JWT best practices β”‚ β”‚
51
+ β”‚ β”‚ - [ ] Setup: Project structure + dependencies β”‚ β”‚
52
+ β”‚ β”‚ - [ ] Implement: User model + auth routes β”‚ β”‚
53
+ β”‚ β”‚ - [ ] Test: API endpoints verification β”‚ β”‚
54
+ β”‚ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β”‚
50
55
  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
51
56
  β”‚
57
+ β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
58
+ β”‚ β”‚ β”‚
59
+ β–Ό β–Ό β–Ό
60
+
61
+ ╔═══════════════════╗ ╔═══════════════════╗ ╔═══════════════════╗
62
+ β•‘ πŸ” PLANNER β•‘ β•‘ πŸ”¨ WORKER #1 β•‘ β•‘ πŸ”¨ WORKER #2 β•‘
63
+ β•‘ Session: ses_001 β•‘ β•‘ Session: ses_002 β•‘ β•‘ Session: ses_003 β•‘
64
+ ╠═══════════════════╣ ╠═══════════════════╣ ╠═══════════════════╣
65
+ β•‘ Research Express β•‘ β•‘ Create src/ β•‘ β•‘ Write auth.ts β•‘
66
+ β•‘ + JWT docs β•‘ β•‘ Setup package.jsonβ•‘ β•‘ + user.model.ts β•‘
67
+ β•‘ β•‘ β•‘ β•‘ β•‘ β•‘
68
+ β•‘ πŸ“₯ websearch() β•‘ β•‘ πŸ“₯ write files β•‘ β•‘ πŸ“₯ write files β•‘
69
+ β•‘ οΏ½ cache_docs() β•‘ β•‘ οΏ½ run_background β•‘ β•‘ β•‘
70
+ β•šβ•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β• β•‘ β†’ npm install β•‘ β•šβ•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•
71
+ β”‚ β•šβ•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β• β”‚
72
+ β”‚ β”‚ β”‚
73
+ β”‚ ⚑ ALL RUN IN PARALLEL (async: true) β”‚
74
+ β”‚ ⏱️ Commander monitors, doesn't wait β”‚
75
+ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
52
76
  β–Ό
53
77
  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
54
- β”‚ 🎯 MASTER SESSION (Commander) β”‚
78
+ β”‚ πŸ”„ BACKGROUND PROCESSES β”‚
55
79
  β”‚ β”‚
56
- β”‚ β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”‚
57
- β”‚ β”‚ 1️⃣ THINK │───▢│ 2️⃣ PLAN │───▢│ 3️⃣ DELEGATE │───▢│ 4️⃣ MONITOR β”‚ β”‚
58
- β”‚ β”‚ Analyze β”‚ β”‚ Create β”‚ β”‚ Spawn β”‚ β”‚ Watch β”‚ β”‚
59
- β”‚ β”‚ request β”‚ β”‚ TODO.md β”‚ β”‚ Workers β”‚ β”‚ progress β”‚ β”‚
60
- β”‚ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β”‚
80
+ β”‚ β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”‚
81
+ β”‚ β”‚ npm install β”‚ β”‚ npm run build β”‚ β”‚ npm test β”‚ β”‚
82
+ β”‚ β”‚ (bg_cmd_001) β”‚ β”‚ (bg_cmd_002) β”‚ β”‚ (bg_cmd_003) β”‚ β”‚
83
+ β”‚ β”‚ ⏳ running... β”‚ β”‚ ⏳ running... β”‚ β”‚ ⏳ pending... β”‚ β”‚
84
+ β”‚ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β”‚
61
85
  β”‚ β”‚
62
- β”‚ Core Systems Active: β”‚
63
- β”‚ β€’ πŸ”„ SessionRecovery (auto error handling) β”‚
64
- β”‚ β€’ πŸ“‹ TodoContinuation (auto-resume on idle) β”‚
65
- β”‚ β€’ πŸŽ–οΈ MissionSealHandler (completion detection) β”‚
66
- β”‚ β€’ πŸ“£ TaskToastManager (consolidated notifications) β”‚
86
+ β”‚ β€’ Check with: check_background / list_background β”‚
87
+ β”‚ β€’ Non-blocking: Commander continues other work β”‚
67
88
  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
68
89
  β”‚
69
- delegate_task (background: true)
70
- β”‚
71
- β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
72
- β–Ό β–Ό β–Ό
73
- β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
74
- β”‚ ⚑ Worker Session 1 β”‚ β”‚ ⚑ Worker Session 2 β”‚ β”‚ ⚑ Worker Session N β”‚
75
- β”‚ Agent: Planner β”‚ β”‚ Agent: Worker β”‚ β”‚ Agent: Reviewer β”‚
76
- β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€ β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€ β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
77
- β”‚ β€’ Independent exec β”‚ β”‚ β€’ Independent exec β”‚ β”‚ β€’ Read/Write β”‚
78
- β”‚ β€’ Read/Write β”‚ β”‚ β€’ Read/Write β”‚ β”‚ .opencode/ β”‚
79
- β”‚ .opencode/ β”‚ β”‚ .opencode/ β”‚ β”‚ β€’ Notify parent β”‚
80
- β”‚ β€’ Notify parent β”‚ β”‚ β€’ Notify parent β”‚ β”‚ on complete β”‚
81
- β”‚ on complete β”‚ β”‚ on complete β”‚ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
82
- β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
83
- β”‚ β”‚ β”‚
84
- β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
85
90
  β–Ό
86
91
  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
87
- β”‚ πŸ“ SHARED CONTEXT (.opencode/) β”‚
92
+ β”‚ πŸ“Š ASYNC RESULT COLLECTION β”‚
88
93
  β”‚ β”‚
89
- β”‚ todo.md ◄── Planner creates β”‚ Worker implements β”‚ Reviewer checks ──▢ [x] β”‚
94
+ β”‚ get_task_result("ses_001") ──▢ βœ… Planner done: "Found JWT patterns..." β”‚
95
+ β”‚ get_task_result("ses_002") ──▢ βœ… Worker #1 done: "Project setup complete" β”‚
96
+ β”‚ get_task_result("ses_003") ──▢ ⏳ Still running... β”‚
90
97
  β”‚ β”‚
91
- β”‚ ⚑ All sessions read/write this shared workspace β”‚
92
- β”‚ πŸ“Š Progress is tracked via todo.md checkboxes β”‚
98
+ β”‚ Commander: "Worker #2 still working, I'll delegate review task meanwhile" β”‚
93
99
  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
94
100
  β”‚
95
101
  β–Ό
102
+ ╔═══════════════════╗
103
+ β•‘ βœ… REVIEWER β•‘
104
+ β•‘ Session: ses_004 β•‘
105
+ ╠═══════════════════╣
106
+ β•‘ Verify endpoints β•‘
107
+ β•‘ Update TODO.md: β•‘
108
+ β•‘ - [x] Research βœ“ β•‘
109
+ β•‘ - [x] Setup βœ“ β•‘
110
+ β•‘ - [x] Implement βœ“β•‘
111
+ β•‘ - [x] Test βœ“ β•‘
112
+ β•šβ•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•
113
+ β”‚
114
+ β–Ό
96
115
  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
97
- β”‚ πŸŽ–οΈ MISSION SEAL LOOP β”‚
116
+ β”‚ πŸŽ–οΈ MISSION COMPLETE β”‚
98
117
  β”‚ β”‚
99
- β”‚ β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”‚
100
- β”‚ β”‚ β”‚ β”‚
101
- β”‚ β”‚ session.idle event ──▢ Check for <mission_seal>SEALED</mission_seal> β”‚ β”‚
102
- β”‚ β”‚ β”‚ β”‚ β”‚ β”‚
103
- β”‚ β”‚ β”‚ β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β” β”‚ β”‚
104
- β”‚ β”‚ β”‚ β–Ό β–Ό β”‚ β”‚
105
- β”‚ β”‚ β”‚ [Seal Found] [Not Found] β”‚ β”‚
106
- β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚
107
- β”‚ β”‚ β”‚ β–Ό β–Ό β”‚ β”‚
108
- β”‚ β”‚ β”‚ βœ… Mission Complete iteration < max? β”‚ β”‚
109
- β”‚ β”‚ β”‚ Clear state β”‚ β”‚ β”‚
110
- β”‚ β”‚ β”‚ β”Œβ”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β” β”‚ β”‚
111
- β”‚ β”‚ β”‚ β–Ό β–Ό β”‚ β”‚
112
- β”‚ β”‚ β”‚ [YES] [NO] β”‚ β”‚
113
- β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚
114
- β”‚ β”‚ β”‚ β–Ό β–Ό β”‚ β”‚
115
- β”‚ β”‚ β”‚ 3s countdown toast ⚠️ Max iterations β”‚ β”‚
116
- β”‚ β”‚ β”‚ Inject continuation Force stop β”‚ β”‚
117
- β”‚ β”‚ β”‚ β”‚ β”‚ β”‚
118
- β”‚ β”‚ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β”‚ β”‚
119
- β”‚ β”‚ LOOP β”‚ β”‚
120
- β”‚ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β”‚
118
+ β”‚ Commander: "All TODOs checked. Mission complete." β”‚
119
+ β”‚ β”‚
120
+ β”‚ Output: <mission_seal>SEALED</mission_seal> β”‚
121
+ β”‚ β”‚
122
+ β”‚ βœ… Session cleanup β†’ Resources freed β†’ Ready for next mission β”‚
121
123
  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
122
124
  ```
123
125
 
126
+ **Key Concepts Visualized:**
127
+
128
+ | Concept | How It Works |
129
+ |---------|--------------|
130
+ | **Session** | Each agent runs in isolated session (ses_001, ses_002...) |
131
+ | **Parallel Agents** | Multiple Workers execute simultaneously, not sequentially |
132
+ | **Background Commands** | Long-running commands (npm install) don't block agents |
133
+ | **Async Collection** | Commander polls results, continues work while waiting |
134
+ | **Auto-Continue** | If TODOs remain, loop continues until all `[x]` checked |
135
+
124
136
  ### πŸ“Š Project Architecture
125
137
 
126
138
  ```
package/package.json CHANGED
@@ -2,7 +2,7 @@
2
2
  "name": "opencode-orchestrator",
3
3
  "displayName": "OpenCode Orchestrator",
4
4
  "description": "Distributed Cognitive Architecture for OpenCode. Turns simple prompts into specialized multi-agent workflows (Planner, Coder, Reviewer).",
5
- "version": "0.8.13",
5
+ "version": "0.8.14",
6
6
  "author": "agnusdei1207",
7
7
  "license": "MIT",
8
8
  "repository": {